2010-11-22 11 views

Odpowiedz

3

Nie koniecznie, ale w pewnym momencie to nastąpi. Jest to część podstawowej architektury HBase. Jeśli obrazujesz tabelę HBase jako arkusz kalkulacyjny z wierszami i kolumnami, region obejmuje wiele kolejnych wierszy w jednym kierunku i wszystkie kolumny jednej lub więcej rodzin kolumn. W ten sposób cały arkusz jest pokryty płytkami regionu.

Każdy region jest przechowywany na jednym lub kilku (zwykle trzech) węzłach klastra. (Jeśli stracisz wszystkie węzły zawierające konkretny region naraz, stracisz wszystkie dane regionu. Jeśli utracisz tylko jedną replikę, HBase upewni się, że jest replikowana do innego węzła z pozostałych kopii.)

Teraz, gdy dane zawarte w regionie są zbyt duże, podział regionów jest automatycznie inicjowany przez HBase, co powoduje powstanie dwóch nowych regionów, z których każdy zawiera połowę danych. Tylko w wyniku podziału regionu (poza replikacją regionu) dane są ostatecznie dystrybuowane w klastrze HBase.

Przechowywanie danych dla jednego wiersza w różnych kolumnach z tej samej rodziny kolumn zapewnia, że ​​dane są przechowywane razem w jednym miejscu.

0

Jeśli dane w tabeli są wystarczająco duże, HBase podzieli tabelę na różne regiony. Ponieważ HBase jest zorientowanym na kolumnę DB, różne rodziny kolumn będą przechowywane w różnych regionach.

Powiązane problemy