Video: Microservices Tutorial: Eventsourcing mit Kafka #1: Architektur 2024
Also, wann sollten Sie HBase in Betracht ziehen? Obwohl die Antwort auf diese Frage nicht unbedingt einfach für alle ist, müssen Sie für den Anfang eine große Datenanforderung und ausreichend Hardware-Ressourcen haben.
-
Eine große Datenanforderung: Terabytes zu Petabyte - sonst haben Sie viele freie Server in Ihren Racks.
-
Ausreichende Hardwareressourcen: Fünf Server sind ein guter Ausgangspunkt.
Wenn Sie überlegen, welche Route Sie einnehmen möchten - HBase oder RDBMS -, berücksichtigen Sie andere Anforderungen wie Transaktionsunterstützung, umfangreiche Datentypen, Indizes und Abfragesprachenunterstützung - obwohl diese Faktoren nicht so schwarz und weiß sind wie die vor zwei Kugeln. Rich-Datentypen, Indizes und Unterstützung von Abfragesprachen können über andere Technologien wie Hive oder kommerzielle Produkte hinzugefügt werden.
"Was ist mit Transaktionen? " du fragst.
Bestimmte Anwendungsfälle für RDBMS, wie die Online-Transaktionsverarbeitung, hängen von ACID-kompatiblen Transaktionen zwischen dem Client und dem RDBMS ab, damit das System ordnungsgemäß funktioniert. (ACID - A Tomizität, C Beständigkeit, I Solierung und D Urabilität)
Im Vergleich zu einem RDBMS, HBase wird zum gegenwärtigen Zeitpunkt nicht als ACID-konforme Datenbank betrachtet. HBase unterstützt keine ACID-konformen Transaktionen über mehrere Zeilen oder über Tabellen hinweg. HBase garantiert jedoch die folgenden Aspekte:
-
Atomic: Alle Operationen auf Zeilenebene innerhalb einer Tabelle sind atomar. Diese Garantie wird auch dann beibehalten, wenn mehr als eine Spaltenfamilie in einer Zeile vorhanden ist.
-
Konsistenz: Scanvorgänge liefern eine konsistente Ansicht der in HBase gespeicherten Daten zu einem früheren Zeitpunkt. Die gleichzeitige Clientinteraktion kann eine Zeile während eines mehrzeiligen Scans aktualisieren, aber alle Zeilen, die von einer Scanoperation zurückgegeben werden, enthalten immer gültige Daten von einem Zeitpunkt in der Vergangenheit.
-
Haltbarkeit: Alle Daten, die von HBase abgerufen werden können, wurden dauerhaft auf die Festplatte übertragen (mit anderen Worten auf HDFS beibehalten).
Einer der aufregendsten Aspekte von HBase und anderen Open-Source-Apache-Projekten ist, dass jemand in der Community immer innoviert und versucht, die Technologie zu verbessern. HBase unterstützt mehrzeilige Transaktionen, wenn sich die Zeilen auf demselben RegionServer befinden. Diese Funktion, die eine zusätzliche Codierung erfordert, wurde in der HBase-Version 0 eingeführt. 94. (Wenn Sie neugierig sind, konzentriert sich die zusätzliche Codierung auf die geteilte Richtlinie von HBase.)
Wenn ACID-Eigenschaften von HBase-Clients benötigt werden, HBase-Schema, so dass Datenoperationen über Kreuzzeilen oder Kreuztabellen nicht erforderlich sind.Wenn Sie Daten in einer Zeile speichern, erhalten Sie Atomizität.