Seit 1970, ist RDBMS die Lösung für die Datenspeicherung und Wartungsverwandtproblemen. Nach dem Aufkommen von groß Daten, erkannte Unternehmen den Nutzen der Verarbeitung von groß Daten und begann optieren für Lösungen mögen Hadoop.
Hadoop verwendet verteiltes Dateisystem für die Speicherung von großen Daten und Karte reduzieren, sie zu verarbeiten. Hadoop sich hervortun in sich die Speicherung und Verarbeitung von großen Daten von verschiedenen Formaten wie willkürlich, halb-, oder sogar unstrukturierte.
Hadoop kann Stapelverarbeitung durchzuführen, und die Daten werden sein abgerufen nur in einer sequentiellen Art. Das heißt, ein hat zu gesamten Datensatz sogar für die einfachsten Arbeitsplätze zu finden.
Eine große DatenSetz wann Verarbeitet Ergebnisse in einem anderen großen DatenSetz, welche sollen auch sein Verarbeitet sequenziell. An diesem Punkt wird eine neue Lösung benötigt,zu Zugriff um jeden Punkt der Daten in einer einzigen Zeiteinheit (wahlfreier Zugriff).
Anwendungen wie HBase, Cassandra, CouchDB, Dynamo und MongoDB sind einige der Datenbanken, dass große Datenmengen zu speichern und zugriff auf die Daten in einer zufälligen Weise.
HBase ist eine verteilte spaltenorientierte Datenbank auf Spitze der Hadoop Dateisystem aufgebaut. Es ist ein Open-Source-Projekt und ist horizontal skalierbar ist.
HBase ist ein Datenmodell, dass ist ähnlich wie die Google-groß Tisch entwickelt, um eine schnelle wahlfreien Zugriff auf riesige Mengen an strukturierten Daten zu liefern. Es Hebelkräfte die Fehlertoleranz stellt durch die Hadoop File System (HDFS).
Es ist ein Teil der Hadoop-Ökosystem, dass stellt zufalls echtzeit Lesen / Schreibzugriff auf Daten in der Hadoop-Dateisystem.
Ein kann die Daten in HDFS entweder direkt oder über HBase speichern. Daten Verbraucher liest / auf die Daten zugreift in HDFS zufällig verwendung HBase. HBase sitzt oben auf dem Hadoop-Dateisystem und bietet Lese- und Schreibzugriff.
HDFS | HBase |
---|---|
HDFS ist ein verteiltes Dateisystem geeignet für die Speicherung von großen Dateien. | HBase ist eine Datenbank, auf der Oberseite des HDFS gebaut. |
HDFS bietet keine Unterstützung für schnelle einzelnen Datensatz Lookups. | HBase bietet schnelle Lookups für größere Tabellen. |
Sie stellt hohe Latenz Batch-Verarbeitung; kein Konzept der Stapelverarbeitung. | Sie stellt geringe Latenz Zugriff auf einzelne Zeilen aus Milliarden von Datensätzen (Zufalls Zugang). |
Sie stellt nur sequentiellen Zugriff von Daten. | HBase intern verwendet Hash-Tabellen und stellt Zufallszugriff, und es speichert die Daten in Indiziert HDFS Dateien für schnellere Lookups. |
HBase ist ein spaltenorientierte Datenbank und die Tische in es sind sortiert durch Reihe. Das Tabellenschema definiert nur Spalten Familien, die die Schlüssel-Wert-Paare sind. Eine Tabelle mehrere Spalten Familien und jede Spalte Familie kann eine beliebige Anzahl von Spalten haben. Anschließend Spaltenwerte werden zusammenhängend auf der Platte gespeichert. Jede Zelle Wert des Tabelle einen Zeitstempel. Kurz gesagt, in einem HBase:
Da unten ist ein Beispiel Schema der Tabelle in HBase.
Rowide | Spalte Familie | Spalte Familie | Spalte Familie | Spalte Familie | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
col1 | col2 | col3 | col1 | col2 | col3 | col1 | col2 | col3 | col1 | col2 | col3 | |
1 | ||||||||||||
2 | ||||||||||||
3 |
spaltenorientierte Datenbanken sind diejenigen, die Datentabellen zu speichern, wie Abschnitte der Spalten von Daten, und nicht als reihen von Daten. Kurz,sie wird haben Spalte Familien.
Reihen orientierte Datenbank | Spalte-orientierte Datenbank |
---|---|
Es ist geeignet für Online-Transaktionsprozess (OLTP). | Es ist geeignet für Online analytischenVerarbeitung(OLAP). |
Solche Datenbanken sind entworfen für kleine Anzahl von Zeilen und Spalten. | spaltenorientierte Datenbanken sind für große Tabellen entwickelt. |
Die folgende Abbildung zeigt Spalte Familien in einer spaltenorientierten Datenbank:
HBase | RDBMS |
---|---|
HBase ist schema weniger, es muss nicht das Konzept der festen Spalten-Schema; definiert nur Spalten Familien. | Ein RDBMS wird durch seine Schema, welche die gesamte Struktur der Tabellen beschrieben geregelt. |
Es ist für breite Tabellen aufgebaut. HBase ist horizontal skalierbar. | Es ist dünn und für kleine Tische aufgebaut. Schwer zu skalieren. |
keine Transaktionen gibt es in HBase. | RDBMS ist transaktional. |
Es hat de-normalisierten Daten. | Es wird normalisierte Daten haben. |
Es ist gut für halb strukturiert ebenso gut wie strukturierte Daten. | Es ist gut für strukturierte Daten. |
Jahr | Ereignis |
---|---|
Nov 2006 | Google veröffentlicht das Papier auf BigTable. |
Feb 2007 | Initiale HBase Prototyp wurde als Hadoop Beitrag erstellt. |
Okt 2007 | Die erste nutzbare HBase entlang mit Hadoop 0.15.0 wurde Freigegeben. |
Jan 2008 | HBase Wurde das Unterprojekt von Hadoop. |
Okt 2008 | HBase 0.18.1 veröffentlicht wurde. |
Jan 2009 | HBase 0.19.0 veröffentlicht wurde. |
Sept 2009 | HBase 0.20.0 veröffentlicht wurde. |
Mai 2010 | HBase wurde Apache Top-Ebene-Projekt. |