Database Reference
In-Depth Information
Selbst bei einer kleinen Anzahl von Regionen erhalten Sie eine sehr umfang-
reiche Ausgabe. Hier ein Teil unserer Ausgabe, der der Lesbarkeit halber
formatiert und abgeschnitten wurde:
ROW
wiki„1300099733696.a79c0f6896c005711cf6a4448775a33b.
COLUMN+CELL
column=info:server, timestamp=1300333136393, value=localhost.localdomain:3555
column=info:regioninfo, timestamp=1300099734090, value=REGION => {
NAME => 'wiki„1300099733696.a79c0f6896c005711cf6a4448775a33b.',
STARTKEY => '',
ENDKEY => 'Demographics of Macedonia',
ENCODED => a79c0f6896c005711cf6a4448775a33b,
TABLE => {{...}}
ROW
wiki,Demographics of Macedonia,1300099733696.0a25ac7e5d0be211b9e890e83e24e458.
COLUMN+CELL
column=info:server, timestamp=1300333136402, value=localhost.localdomain:35552
column=info:regioninfo, timestamp=1300099734011, value=REGION => {
NAME => 'wiki,Demographics of Macedonia,1300099733696.0a25...e458.',
STARTKEY => 'Demographics of Macedonia',
ENDKEY => 'June 30',
ENCODED => 0a25ac7e5d0be211b9e890e83e24e458,
TABLE => {{...}}
Beide oben aufgeführten Regionen werden vom gleichen Server bedient:
lo-
calhost.localdomain:35552
. Die erste Region beginnt mit dem Leerstring (
''
)
und endet mit
'Demographics of Macedonia'
. Die zweite Region beginnt bei
'Demographics of Macedonia'
und geht bis
'June 30'
.
STARTKEY
ist inklusive,
ENDKEY
exklusive. Wenn wir also die Zeile
'Demogra-
phics of Macedonia'
suchen, finden wir sie in der zweiten Region.
Da Zeilen sortiert vorgehalten werden, können wir die in
.META.
gespeicher-
ten Informationen nutzen, um die Region und den Server zu ermitteln, auf
dem eine Zeile zu finden ist. Doch wo wird diese
.META.
-Tabelle gespeichert?
Wie sich herausstellt, wird die
.META.
-Tabelle wie jede andere Tabelle auch
in Regionen aufgeteilt, die von Regions-Servern bedient werden. Um heraus-
zufinden, welche Server welche Teile der
.META.
-Tabelle enthalten, müssen
wir
-ROOT-
durchsuchen.
hbase>
scan '-ROOT-', { COLUMNS => [ 'info:server', 'info:regioninfo' ] }
ROW .META.,,1
COLUMN+CELL
column=info:server, timestamp=1300333135782, value=localhost.localdomain:35552
column=info:regioninfo, timestamp=1300092965825, value=REGION => {
NAME => '.META.,,1',
STARTKEY => '',
ENDKEY => '',