Checkmark on Circle.png

Bigtable

Aus KGS-Wiki

Bigtable ist ein Hochleistungs-Datenbanksystem, welches dem Unternehmen Google Inc. angehört. Es eignet sich für die Speicherung von großen Datenmengen bei hohem Durchsatz und geringer Latenz. Es wird von Google selbst benutzt, bietet es aber auch als Cloud-Service für Dritte an. Die Entwicklung von Bigtable begann 2004. Bigtable unterstützt das MapReduce-Verfahren und stellte die Grundlage von vielen Google-Produkten, wie etwa Google Maps, Google Bücher, YouTube oder Google Earth, dar. Besonderer Wert wurde auf Skalierbarkeit und Geschwindigkeit gelegt. Deshalb ist Bigtable auf einem NoSQL-Datenbanksystem basiert und bietet eine hohe Performance auf verteilten Clustersystemen.

Wichtige Funktionen

Das Funktionsprinzip von Google Bigtable ist zwar sehr einfach gehalten, dennoch aber sehr intelligent, da man somit wie schon gesagt eine sehr hohe Datenmenge abspeichern kann. Bigtable ist ein Spaltenorientierter Speicher für Schlüssel/Wert-Paare, der sich für einen schnellen Zugriff auf sehr große Mengen an strukturierte, semistrukturierte oder unstrukturierte Daten mit hohem Lese- und Schreibdurchsatz eignet. Eine Bigtable besteht grundlegend aus sehr vielen Zeilen, die durch einen Datensatzidentifikator benannt werden. Innerhalb einer Zeile können beliebig viele Spalten definiert werden. Im Gegensatz zu relationalen Datenbanken kann die Anzahl der Spalten für jede Zeile unterschiedlich groß sein.

Verwendung von HBase-API

Google BigTable unterstützt auch den Zugriff per HBase-API. Das ermöglicht eine schnelle Integration der Datenbank in bereits existierende Big-Data-Umgebungen. Google bietet mit der Programmierschnittstelle Cloud Dataflow auch die Möglichkeit, Datenabfragen mit BigQuery durchzuführen. Diese Abfragen können die Cloud-Datenbank BigTable nutzen. Dataflow soll MapReduce ersetzen und Abfragen zu BigTable schneller durchführen können. Außerdem soll Dataflow einfacher verwendbar sein. Auch intern nutzt Google nicht mehr MapReduce, sondern setzt auf Dataflow.

Einsatzmöglichkeiten von Google Cloud BigTable

Mit Cloud BigTable sind Anwendungen, die auf nicht strukturierten Daten basieren, mit hohem Datendurchsatz realisierbar. Mögliche Anwendungsszenarien sind im Bereich Künstlicher Intelligenz, maschinellem Lernen und Business-Intelligence-Analysen zu finden. Beispielsweise lassen sich folgende Datentypen speichern, abrufen und verarbeiten:

  • Daten aus dem Finanzbereich wie Transaktionen oder Kurse
  • Marketing- und Kundendaten wie Einkaufsverhalten oder Präferenzen
  • Daten aus dem Internet of Things (IoT) wie Verbrauchsdaten oder Standortdaten

Beispiel zum Erstellen einer Tabelle in Cloud Bigtable:

gcloud bigtable instances tables create TABLE_ID \
    --instance=INSTANCE_ID \
    --project=PROJECT_ID \
    --column-families="COLUMN-FAMILIES"

Dabei gilt:

  • TABLE_ID: Eine eindeutige ID für die neue Tabelle
  • INSTANCE_ID: Die Instanz, die die neue Tabelle enthält
  • PROJECT_ID: Das Projekt, das die neue Tabelle enthält
  • COLUMN-FAMILIES: Eine durch Kommas getrennte Liste von Spaltenfamiliennamen. Sie können später weitere Spaltenfamilien hinzufügen