HBase ist ein spaltenorientiertes, nicht relationales Datenbankmanagementsystem, das auf dem Hadoop Distributed File System (HDFS), einer Hauptkomponente von Apache Hadoop, ausgeführt wird.
HBase bietet eine fehlertolerante Möglichkeit zur Speicherung kleiner Datensätze, die in vielen Big-Data-Anwendungsfällen üblich ist. Es eignet sich gut für die Datenverarbeitung in Echtzeit oder den wahlfreien Lese-/Schreibzugriff auf große Datenmengen.
Im Gegensatz zu relationalen Datenbanksystemen unterstützt HBase keine strukturierte Abfragesprache wie SQL; tatsächlich ist HBase überhaupt kein relationaler Datenspeicher. HBase-Anwendungen werden in Java™ geschrieben, ähnlich wie eine typische Apache-MapReduce-Anwendung. HBase unterstützt das Schreiben von Anwendungen in Apache Avro, REST und Thrift.
Ein HBase-System ist für eine lineare Skalierung ausgelegt. Es besteht aus einer Reihe von Standardtabellen mit Zeilen und Spalten, ähnlich wie eine herkömmliche Datenbank. Für jede Tabelle muss ein Element als Primärschlüssel definiert sein, und alle Zugriffsversuche auf HBase-Tabellen müssen diesen Primärschlüssel verwenden.
Avro unterstützt als Komponente eine Vielzahl von primitiven Datentypen, darunter numerische, binäre Daten und Strings sowie eine Reihe komplexer Typen wie Arrays, Maps, Aufzählungen und Datensätze. Außerdem kann eine Sortierreihenfolge für die Daten festgelegt werden.
HBase nutzt ZooKeeper für eine leistungsstarke Koordination. ZooKeeper ist in HBase integriert, aber wenn Sie einen Produktionscluster ausführen, wird empfohlen, dass Sie einen dedizierten ZooKeeper-Cluster haben, der in Ihren HBase-Cluster integriert ist.
HBase funktioniert gut mit Hive, einer Abfrage-Engine für die Stapelverarbeitung von Big Data, um fehlertolerante Big-Data-Anwendungen zu ermöglichen.
Eine HBase-Spalte stellt ein Attribut eines Objekts dar; wenn in der Tabelle Diagnoseprotokolle von Servern in Ihrer Umgebung gespeichert werden, könnte jede Zeile ein Protokolldatensatz sein, und eine typische Spalte könnte der Zeitstempel für den Zeitpunkt sein, an dem der Protokolldatensatz geschrieben wurde, oder der Name des Servers, von dem der Datensatz stammt.
HBase ermöglicht es, viele Attribute in Spaltenfamilien zu gruppieren, sodass die Elemente einer Spaltenfamilie alle zusammen gespeichert werden. Dies unterscheidet sich von einer zeilenorientierten relationalen Datenbank, in der alle Spalten einer bestimmten Zeile zusammen gespeichert werden. Bei HBase müssen Sie das Tabellenschema vordefinieren und die Spaltenfamilien angeben. Es können jedoch jederzeit neue Spalten zu den Familien hinzugefügt werden, wodurch das Schema flexibel wird und sich an sich ändernde Anwendungsanforderungen anpassen kann.
So wie HDFS über einen NameNode und Slave-Knoten verfügt und MapReduce über JobTracker- und TaskTracker-Slaves, ist HBase auf ähnlichen Konzepten aufgebaut. In HBase verwaltet ein Masterknoten den Cluster und Regionalserver speichern Teile der Tabellen und führen die Arbeit an den Daten aus. Genauso wie HDFS aufgrund der Verfügbarkeit des NameNode einige Probleme für Unternehmen mit sich bringt, reagiert auch HBase empfindlich auf den Ausfall seines Master-Knotens.
Entwerfen Sie eine Datenstrategie, die Datensilos beseitigt, die Komplexität reduziert und die Datenqualität verbessert, um außergewöhnliche Kunden- und Mitarbeitererfahrungen zu schaffen.
Watsonx.data ermöglicht es Ihnen, Analysen und KI mit all Ihren Daten zu skalieren, unabhängig davon, wo sie sich befinden, und zwar über einen offenen, hybriden und kontrollierten Datenspeicher.
Erschließen Sie den Wert von Unternehmensdaten mit IBM Consulting und bauen Sie ein erkenntnisgesteuertes Unternehmen auf, das Ihnen geschäftliche Vorteile verschafft.