Definition Was ist BigTable?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

BigTable ist ein von Google entwickeltes Datenbanksystem. Es eignet sich für die Speicherung von großen Datenmengen bei hohem Durchsatz und geringer Latenz. Google nutzt BigTable für eigene Dienste, bietet es aber auch als Cloud-Service für Dritte an

Anbieter zum Thema

(Bild: © aga7ta - stock.adobe.com)

Bei Google BigTable handelt es sich um ein proprietäres, vom US-Unternehmen Google entwickeltes Datenbanksystem für besonders große Datenmengen. Das extrem skalierbare NoSQL-Datenbanksystem arbeitet auf verteilten Clustersystemen und bietet eine hohe Performance. Es wurde ursprünglich konzipiert, um die durch die Web-Services und die Google-Suche entstehenden riesigen Datenmengen im Petabyte-Bereich und darüber hinaus aufzunehmen.

Google nutzt BigTable für eigene Services wie die Google-Suche, Google Analytics, Google Maps oder Google Mail. Dank der niedrigen Latenz und dem hohen Datendurchsatz eignet sich Google BigTable auch für andere Anwendungen aus dem Big-Data-Umfeld. Die Datenbank verwendet ein bewusst einfaches Datenmodell, das auf Zeilen- und Spalteneinträgen mit Timestamps basiert. Zusätzlich kommen Komprimierungsalgorithmen bei der Speicherung der Daten zum Einsatz.

Entwickelt wurde BigTable im Jahr 2004. Obwohl es sich um eine proprietäre Lösung von Google handelt, hat BigTable einen großen Einfluss auf das Design von Datenbanken für Big-Data-Anwendungen. Auf Basis der von Google veröffentlichten BigTable-Spezifikationen konnten andere Unternehmen und Open-Source-Teams eigene Datenbanksysteme mit ähnlicher Funktionsweise und Struktur entwickeln.

Das Funktionsprinzip von Google BigTable

Die BigTable-Datenbank basiert auf Tabellen, die wiederum aus Zeilen und Spalten bestehen. Zeilen können eine sich unterscheidende Anzahl von Spalten besitzen und sind durch den Zeilenschlüssel indexiert. Jede Zeile kann aus Spalten mit individuellen Werten bestehen. Spalten, die untereinander in Bezug stehen, sind in Spaltenfamilien gruppiert. Da die Einträge in BigTable verschiedene Zeitstempel besitzen, ist es möglich, nachzuvollziehen, wie sich Daten über die Zeit verändert haben. Bleiben Zellen in einer BigTable-Datenbank leer, beanspruchen diese keinen Platz. Um den Speicherplatz weiter zu optimieren kommen intelligente Algorithmen für die Kompression und regelmäßige Verdichtungen sowie Umschreibungen der Daten zum Einsatz.

Die Cluster-Architektur von Google BigTable

Google BigTable basiert auf einer verteilten Clusterstruktur. Anfragen von Clients werden mithilfe eines Front-End-Servers zu einem BigTable-Node geschickt. Mehrere BigTable-Nodes bilden einen BigTable-Cluster. Jeder BigTable-Node in einem Cluster kann eine bestimmte Anzahl von Anfragen bearbeiten. Sollen die maximale Anzahl simultan zu bewältigender Anfragen und der Durchsatz erhöht werden, ist es möglich, ein BigTable-Node dem Cluster dynamisch hinzuzufügen. Die eigentlichen BigTable-Tabellen sind als Tabellenreihen im SSTable-Format des Google-Dateisystems gespeichert.

Google BigTable als Service aus der Cloud

Neben den internen Services von Google können auch externe Anwender Google BigTable nutzen. Google stellt das Datenbanksystem als Service aus der Cloud unter der Bezeichnung „Google Cloud BigTable“ Dritten zur Verfügung. Über das Internet ist Cloud BigTable weltweit erreichbar und kann als Service für das Speichern von großen Datenmengen in der Cloud verwendet werden. Auf Basis von Google Cloud BigTable lassen sich unterschiedlichste Anwendungen aus dem Big-Data-Umfeld bedienen. Es handelt sich um einen gehosteten NoSQL-Datenspeicher, der sich über die API „Apache Hbase“ ansprechen lässt. Über ein Full-Service-Paket bietet Google die Datenreplikation für das Backup und die Verschlüsselung von Daten an.

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

Die Vorteile von Google BigTable

Aufgrund seiner speziellen Struktur bietet das Datenbanksystem Google BigTable eine Vielzahl an Vorteilen. Unabhängig von der Größe der Datenbank und der Anwendung hat BigTable eine niedrige Latenz und einen hohen Durchsatz. Dadurch ist Google BigTable sowohl für die Speicherung großer Datenmengen als auch für die Verarbeitung und Analyse mit hohem Durchsatz nutzbar. Mit BigTable skaliert die Datenbank problemlos bis zu Größen von mehreren Hundert Petabyte. Gleichzeitig können mehrere Millionen Vorgänge pro Sekunde verarbeitet werden. Diverse Anwendungen und Workflows sind schnell, zuverlässig und sehr effizient bedienbar.

Wird BigTable im Rahmen des Services Google Cloud BigTable genutzt, sind sämtliche Daten bei der Übertragung und bei der Speicherung verschlüsselt und für Unbefugte nicht einsehbar. Zusätzlich lassen sich alle Zugriffe auf die Daten mit umfangreichen Berechtigungskonzepten individuell konfigurieren und absichern.

Bei Bedarf sind die Cluster, auf denen Google BigTable bereitgestellt wird, flexibel erweiterbar. Sowohl das Hinzufügen als auch das Entfernen von BigTable-Clusterknoten ist dynamisch ohne Serviceunterbrechung möglich.

(ID:44870292)