2010-11-22 11 views

risposta

3

Non necessariamente, ma a un certo punto lo farà. Questo fa parte dell'architettura base di HBase. Se immagini una tabella HBase come un foglio di calcolo, con le sue righe e colonne, allora una regione si estende su più righe successive in una direzione e tutte le colonne di una o più famiglie di colonne. In questo modo, l'intero foglio è coperto con riquadri regionali.

Ogni area è memorizzata su uno o più nodi (in genere tre). (Se perdi tutti i nodi che contengono una regione specifica contemporaneamente perdi tutti i dati della regione.Se perdi solo una replica, HBase si assicura che sia replicata su un altro nodo dalle copie rimanenti.)

Ora, quando i dati contenuti in una regione diventano troppo grandi, una regione divisa viene automaticamente avviata da HBase, risultando in due nuove regioni, ciascuna contenente metà dei dati. Solo attraverso le suddivisioni regionali (oltre alla replica della regione) i dati vengono distribuiti su un cluster HBase alla fine.

La memorizzazione dei dati per una riga in colonne diverse della stessa famiglia di colonne assicura che i dati vengano memorizzati insieme in un unico punto.

0

Se i dati nella tabella sono sufficientemente grandi, HBase dividerà la tabella in diverse regioni. Poiché HBase è un DB orientato alle colonne, diverse famiglie di colonne verranno archiviate in regioni diverse.

Problemi correlati