NoSQL-Lösung mit großer Zukunft

HBase


Mit seinen Wurzeln in der Bigtable-Technologie hat sich HBase über die Jahre zur Grundlage vieler Google-Produkte und -Dienste entwickelt. Welche Ideen, Architektur und welches Datenmodell stecken hinter HBase? Wir nehmen die NoSQL-Lösung unter die Lupe.

Bevor wir uns HBase im Detail anschauen, ist es interessant, auch etwas über dessen Vergangenheit und damit Herkunft zu wissen. Anfang des 21. Jahrhunderts, also vor mehr als zehn Jahren, boomte das Internet und Information in Form von Dokumenten und Webseiten wuchsen unaufhörlich. Google, ein aufstrebendes Unternehmen mit Ziel, all diese Daten mithilfe einer Suchfunktion zur Verfügung zu stellen, stand vor dem Problem, diese Dokumente kosteneffektiv und zukunftssicher zu speichern und zu bearbeiten. Daraus entstand die erste Version des Google File Systems [1] (kurz GFS) und MapReduce [2]. Damit war es möglich, alle Webseiten im Internet zu archivieren und parallel im Batchbetrieb auszuwerten. Jeder neue Lauf über alle Daten erzeugte einen neuen Suchindex. Sehr schnell wurde aber klar, dass ein Dateisystem nicht ideal ist, um sich ständig ändernde Datensätze zu speichern. Es brauchte ein skalierbares, aber dennoch datenbankähnliches System, das eben diese Datensätze leicht zugänglich und aktualisierter macht. Daraus entstand dann Mitte der 2000er Jahre Bigtable [3], das als Grundlage für HBase diente. Google veröffentlichte nicht nur die Funktionsweise von GFS und Map­Re­duce, sondern auch Bigtable. Dieses war 2006, als dessen technische Veröffentlichung herausgegeben wurde, schon mehrere Jahre erfolgreich im Einsatz. Über die weiteren Jahre wurde Bigtable Grundlage für viele Google-Produkte und -Dienste, und bestätigte damit dessen Idee und Implementierung.

Einige Jahre nach den technischen Veröffentlichungen von Google wurden im Rahmen des Apache-Nutch-Projekts diese Ideen aufgegriffen, denn zu dieser Zeit arbeitete Doug Cutting [4] – zusammen mit Mike Cafarella – an einer quelloffenen Implementierung eines Web-Crawlers und Indexers. Nutch brauchte dieselben Funktionen, wie GFS und MapReduce sie für Google boten, und deshalb wurden genau deren Funktionen in Nutch integriert. Doug ahnte aber vom allgemeinen Nutzen und startete ein neues Apache-Projekt namens Hadoop [5]. In Listing 1 sind die ersten Commit-Einträge zu sehen.

Listing 1: Erster wichtiger Hadoop-Commit-Eintrag

r373007 | cutting | 2006-01-27 23:19:42 +0100 (Fri, 27 Jan 2006) | 1 line Create hadoop sub-project. ... r374733 | cutting | 2006-...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang