Die Attribute der HBase

HBase

Menu

(Hadoop Database) ist eine Java-Implementierung von Google BigTable. Google definiert BigTable als # 147-spärlich verteilt, persistent mehrdimensionale sortiert Karte. # 148- Es ist eine ziemlich knappe Definition, aber Sie werden auch darüber einig, dass es auf der komplexen Seite ein bisschen ist. Zum Abbau BigTable der Komplexität ein bisschen, folgt eine Diskussion der einzelnen Attribute.

Hbase ist spärlich

Wie Sie vielleicht schon erraten haben, verteilt die BigTable Datenspeichersystem wurde entwickelt, um den Anforderungen von großen Datenmengen gerecht zu werden. Nun, große Daten Anwendungen speichern viele Daten, aber große Dateninhalt ist auch oft variabel. Stellen Sie sich eine traditionelle Tabelle in einer Unternehmensdatenbank zu speichern Kontaktinformationen des Kunden, wie hier gezeigt:

Traditionelle Customer Contact Information Table
KundennummerFamilienname, NachnameVornameZweiter VornameE-Mail-AddresseAdresse
00001SchmiedJohnTimothy 1 Hadoop Lane, NY 11111
00002DamhirschkuhJaneNULLNULL7 HBase Ave, CA 22222

Ein Unternehmen oder eine Einzelperson kann einen kompletten Datensatz für jeden seiner Kunden oder Bestandteile erfordern. Ein gutes Beispiel ist der Arzt, der alle Ihre Kontaktinformationen benötigt, um Sie mit der richtigen Pflege. Andere Firmen oder Einzelpersonen können nur teilweise Kontaktinformationen benötigen oder benötigen diese Informationen im Laufe der Zeit zu lernen.

Zum Beispiel kann ein Kunden-Service-Unternehmen Telefonanrufe oder E-Mail-Nachrichten für Service-Anfragen zu verarbeiten. Clients können oder nicht wählen, Dienstleistungsunternehmen alle Informationen, um ihre Kontakte zu geben. Doch mit jeder Interaktion im Laufe der Zeit, können Unternehmen mehr über ihre Kunden zu lernen, die es ihnen ermöglichen, einen besseren Service zu bieten - durch proaktive Service der Ausschreibungen, zum Beispiel.

In diesem Kontext, spärlich bedeutet, dass in den Zeilen Felder leer oder NULL sein kann, sondern dass HBase zum Stillstand bringt nicht. HBase kann die Tatsache umgehen, dass Sie nicht (noch) nicht wissen, Jane Doe zweiter Vorname und E-Mail-Adresse, zum Beispiel.

Hier ein weiteres Beispiel: eine Datenbank für Satellitenbilder zu speichern. Es stellt sich heraus, dass Google BigTable Technologie nutzt Satellitenbilder der Erde zu speichern. In fast jedem Fall, wenn Bilder gespeichert ist, Metadaten mit ihm gespeichert.

Die Metadaten können die Adresse des Bildes umfassen oder nur die Breite und die Länge, wenn das Bild von der Wüste eingefangen wird. Die Metadaten ist variabel in Inhalt so einige Felder NULL sein wird - und das ist in Ordnung.

In beiden Beispielen, die die Datensätze gesammelt werden kann extrem groß sein - besonders in dem zweiten Beispiel. Imagery Datenbanken sind fast immer in Terabyte gemessen oder manchmal in Petabyte.

HBase wird zum Speichern von großen Datenmengen ausgelegt, aber es ist auch für die Speicherung von spärlichen Datensätzen entworfen ohne Kosten. Diese Sorge ist entscheidend, wenn Sie große Datenanwendungen verwenden! ein paar NULL Aufzeichnungen über eine Million Zeilen zu speichern ist verschwenderisch, sondern versuchen, den Abfall über eine Billiarde Reihen vorstellen!

Zum Glück war dies ein wichtiger Aspekt für die Google-Designer und der HBase Gemeinschaft. Sparse-Daten werden ohne Verschwendung von teuren Speicherplatz unterstützt.

Und es ist noch nicht alles. Betrachten wir die Leistung eines Schemas losen Datenspeicher. Die Tabelle zeigt Ihnen eine klassische Kundenkontakttabelle. Wenn Unternehmen diese Tabellen entwerfen, zu wissen, dass sie vorne, was sie speichern möchten. Mit anderen Worten: das Schema fest- es wird definiert, noch bevor das erste Byte der Daten in der Tabelle gespeichert ist.

Was nun, wenn im Laufe der Zeit ein neues Feld für einen Kunden benötigt? Wie über einen Twitter Griff oder eine neue Handy-Nummer? Sie sind scheinbar mit einem Schema, das nicht mehr funktioniert für Sie fest.

Nun, löst HBase diese Herausforderung als auch - Sie können nicht nur ohne Kosten überspringen Felder, wenn Sie nicht die Daten, sondern auch dynamisch Felder hinzufügen (oder Spalten in der HBase vernacular) im Laufe der Zeit, ohne das Schema oder stören Operationen neu zu gestalten.

So können Sie sich vorstellen HBase als Schema-weniger Daten Store-, das heißt, es ist flüssig - Sie addieren, subtrahieren, oder das Schema ändern, wie Sie gehen.

HBase verteilt und persistent

BigTable ist eine verteilte und persistenten Datenspeicher. ausdauernd einfach bedeutet, dass die Daten, die Sie in BigTable speichern (und HBase, für diese Angelegenheit) wird nach dem Programm oder Sitzung beendet fortbestehen oder bleiben. Das ist ziemlich einfach - persistent bedeutet, dass es weiterhin besteht - aber Sie sollten ein wenig mehr Zeit darüber nachzudenken verbringen Wie die Daten werden beibehalten.

In seiner BigTable Papier, beschrieben Google das verteilte Dateisystem, bekannt als Google File System oder GVS. Es stellt sich heraus, dass, so wie HBase eine Open-Source-Implementierung von BigTable ist, HDFS ist eine Open-Source-Implementierung von GVS.

Standardmäßig nutzt HBase HDFS seine Daten auf Plattenspeicher zu bestehen. Obwohl andere Geschäfte verteilt Daten können mit HBase verwendet werden, die überwiegende Mehrheit der HBase Installationen nutzen HDFS. Das macht durchaus Sinn, da HBase ist die # 147-Hadoop-Datenbank # 148- - hey, es ist in den Namen gebaut, um Himmels willen.

HDFS ist eine Schlüsseltechnologie nicht nur für Hadoop, sondern auch für HBase. Durch die Speicherung von Daten in HDFS bietet HBase Zuverlässigkeit, Verfügbarkeit, nahtlose Skalierbarkeit, hohe Leistung und vieles mehr - alles auf kostengünstige verteilten Servern!

HBase hat eine mehrdimensionale sortiert Karte

Ausgehend von den Grundlagen, ein Karte (Auch als ein bekannter assoziatives Array) Ist eine abstrakte Sammlung von Schlüssel-Wert-Paaren, wobei der Schlüssel eindeutig ist. Diese Definition ist entscheidend, um Ihr Verständnis von HBase, weil das HBase Datenmodell oft auf unterschiedliche Weise beschrieben wird - oft unvollständig als spaltenorientierten Speicher.

HBase ist im Grunde ein Schlüssel-Wert-Datenspeicher, wobei jeder Schlüssel eindeutig ist - was bedeutet es höchstens einmal im Laden HBase Daten angezeigt. Darüber hinaus ist die Karte sortiert und multidimensional. Die Tasten sind in HBase gespeichert und in Byte-lexikographischen Reihenfolge sortiert. Jeder Wert kann mehrere Versionen haben, die das Datenmodell mehrdimensionaler macht. In der Standardeinstellung Datenversionen werden mit einem Zeitstempel realisiert.

Menü