Schlüssel Wert-Paare in der HBase Data Model

Die logische HBase Datenmodell ist einfach, aber elegant, und es stellt eine natürliche Datenspeicher für alle Arten von Daten - insbesondere unstrukturierte großen Datensätzen. Alle Teile des Datenmodells konvergieren in einen Schlüssel-Wert-Paar.

Zunächst einmal, in einer Welt, wo Sie der Reihe Schlüssel als Primärschlüssel für Daten, die in HBase denken kann, wie Sie am Ende den Rest der Datenmodellkomponenten nutzen? Nun, es hängt alles davon ab, wie viele Daten zurückgegeben werden sollen in Abfragen und wie lange sind Sie bereit zu warten.

nur die Zeilenschlüssel angeben kann möglicherweise eine Tonne Daten zurückgeben, da eine einzelne Zeile Millionen von Spalten haben kann. Auch mit nur dem Zeilenschlüssel aus zu arbeiten, können HBase jede Spalte Qualifier, Version zurückzukehren, und Wert auf den Zeilenschlüssel verwandt.

Was ist, wenn Sie nur eine bestimmte Spalte oder Version Ihrer Daten? Aus dem Beispiel gezeigt, können Sie sehen, was passiert, wenn Sie den Nachnamen eines bestimmten Kunden nur wollen? Die Lösung ist eine komplexere Schlüssel zu bauen, genau zu bestimmen, was Sie brauchen. Ein Schlüssel-Wert-Paar kann wie folgt aussehen: RowKey: (Spalte Familie: Spalte Qualifier: Version) => Wert

Logische Sicht des Kunden Kontaktinformationen in HBase
Row KeySpalte Familie: {Spalte Qualifier: Version: Wert}
00001Kundenname: { 'FN': 1383859182496: "John",
'LN': 1383859182858: 'Smith',
'MN': 1383859183001: "Timothy",
'MN': 1383859182915: 'T'}

Contact: { 'EA': 1383859183030:'[email protected] ',
"SA": 1383859183073: "1 Hadoop Lane, NY11111 '}
00002Kundenname: { 'FN': 1383859183103: 'Jane',

'LN': 1383859183163: "Doe",
Kontaktinformation: {
"SA": 1383859185577: "7 HBase Ave, CA22222 '}

Nachdem Sie den Schlüssel angeben, der Rest ist optional. Je genauer Sie die Abfrage machen, aber (Moving von links nach rechts), desto mehr die Ergebnisse körnig. Ihre Leistung wird sich verschlimmern, da das System mehr Zeit Ortung, den genauen Wert zu verbringen oder Werte, die Sie brauchen, aber weniger Daten zurückgegeben werden, wenn die Abfrage abgeschlossen ist.

So sind die Schlüssel komplexer als man aus dem Studium der Tabelle vorstellen könnte. Zum Beispiel, wenn Sie die neueste Mittelnamen (oder der einzige Mittelnamen bisher) des Kunden in der Zeile '00001', der resultierende Schlüssel-Wert-Paar wie folgt aussehen würde wollen: "00001: Kundenname: MN '=>' Timothy '

Denken Sie daran, dass Versionen sind standardmäßig Zeitstempel implementiert und sortiert werden, in absteigender Reihenfolge, so dass Sie automatisch den aktuellsten Wert erhalten, wenn Sie keine Version angeben. Wenn Sie eine vorherige mittlere Initiale für Ihre Kunden wollen (siehe Tabelle 12-2), Ihre resultierende Schlüssel-Wert-Paar würde wie folgt aussehen: "00001: Kundenname: MN: 1383859182915 '=>' T '

Wir hoffen, dass die verschiedenen Beschreibungen von HBase beginnen Form in Ihrem Kopf zu nehmen. Insbesondere ist HBase sowohl eine Spalte familienorientierte Datenspeicher und ein Schlüssel-Wert-Paar-Datenspeicher. Bezugnehmend auf HBase einfach als # 147-Säule orientiert # 148- Datenspeicher lässt viel für die Phantasie.

Falls Sie waren neugierig, gibt es keine Datentypen in HBase - Werte in HBase sind nur ein oder mehrere Bytes. Auch hier einfache, aber leistungsfähige, weil Sie können alles speichern!

Menü