Video: EM73 Pulsanti di opzione per rendere grafico dinamico 2024
Gli archivi dati HBase sono costituiti da una o più tabelle, indicizzate mediante chiavi di riga. I dati vengono archiviati in righe con colonne e le righe possono avere più versioni. Per impostazione predefinita, il controllo delle versioni dei dati per le righe è implementato con timestamp.
Riga chiave | Famiglia di colonne: {Nome colonna: Versione: Valore} |
---|---|
00001 | Nome cliente: {'FN':
1383859182496: ' John ', ' LN ': 1383859182858:' Smith ', ' MN ': 1383859183001:' Timothy ', ' MN ': 1383859182915:' T '} ContactInfo: {' EA ': 1383859183030:' John. Smith @ xyz. com ', ' SA ': 1383859183073:' 1 Hadoop Lane, NY 11111 '} |
00002 | CustomerName: {' FN ':
1383859183103:' Jane ', "LN": 1383859183163: "Doe", ContactInfo: { 'SA': 1383859185577: '7 HBase Ave, CA 22222'} |
Per motivi di illustrazione, la tabella ha due semplici tasti di riga: 00001 e 00002. Le chiavi di riga sono implementate come matrici di byte e sono ordinate in ordine lessicografico di byte, il che significa semplicemente che la riga le chiavi sono ordinate, byte per byte, da sinistra a destra.
Se si pensa in termini di valori numerici durante la progettazione delle chiavi di riga, l'ordinamento è semplice. Dato due chiavi, se il byte nell'Indice 1 nella chiave 1 è inferiore al byte nell'indice 1 nella chiave 2, la chiave di riga 1 verrà sempre memorizzata prima della chiave di riga 2, indipendentemente dalla sequenza successiva di byte.
Tuttavia, è comune utilizzare caratteri stampabili (ASCII) anziché valori numerici per le chiavi di riga in HBase e, in tal caso, è necessario comprendere che il linguaggio Java rappresenta i caratteri che utilizzano lo standard Unicode. Nell'esempio seguente viene illustrata questa considerazione di progettazione per Basic Latin (ASCII).
"RowA" precede "RowA" Row-1 "precede" Row11 "Row1" precede "RowA"
Ci si potrebbe chiedere perché si dovrebbe preoccupare di questo dettaglio per quanto riguarda le chiavi di riga. è che il corretto design delle chiavi di riga è fondamentale per ottenere buone prestazioni in HBase: non farlo significa che non realizzerete il valore completo del vostro cluster HBase. Le chiavi di riga ordinate possono aiutare ad accedere ai dati più velocemente.