Database Reference
In-Depth Information
Zeilen-
Schlüssel
Spaltenfamilie
»shape«
Spaltenfamilie
»color«
"red": "#F00"
"blue": "#00F"
"yellow": "#FF0"
"square": "4"
"first"
"triangle": "3"
"square": "4"
"second"
Abbildung 13: HBase-Tabellen bestehen aus Zeilen, Schlüsseln, Spaltenfamilien,
Spalten und Werten.
und daher auch keine Spalten. Im Gegensatz zu einer relationalen Daten-
bank ist eine Spalte bei HBase nur für die Zeile spezifisch, in der sie enthal-
ten ist. Wenn wir Zeilen einfügen, fügen wir gleichzeitig auch Spalten ein, um
Daten zu speichern.
Wenn wir uns die Tabellen-Architektur vor Augen führen, haben wir so et-
was wie in Abbildung 14,
Die wiki-Tabelle hat eine Spaltenfamilie.
,aufSeite
110. Nach unserer eigenen Konvention erwarten wir, dass jede Zeile genau
eine Spalte innerhalb der
text
-Familie besitzt, die über den Leerstring (
''
)
qualifiziert wird. Der vollständige Name der Spalte, der den Text einer Seite
enthält, lautet also
'text:'
.
Damit unsere Wiki-Tabelle nützlich ist, brauchen wir natürlich Inhalte. Las-
sen Sie uns also etwas einfügen!
Daten einfügen, aktualisieren und abrufen
Unser Wiki braucht eine Homepage, also fangen wir damit an. Um Daten in
eine HBase-Tabelle einzufügen, verwenden wir den
put
-Befehl:
hbase>
put 'wiki', 'Home', 'text:', 'Welcome to the wiki!'
Dieser Befehl fügt in die Wiki-Tabelle eine neue Zeile mit dem Schlüssel
'Home'
ein und
'Welcome to the wiki!'
in die Spalte
'text:'
.
Wir können die Daten für die
'Home'
-Zeile mit
get
abrufen, wozu wir zwei
Parameter benötigen: den Namen der Tabelle und den Schlüssel der Zeile.