Video: Siphon on HDInsight Kafka | Azure Friday 2024
HBase è un database distribuito non correlato (colonnare) che utilizza HDFS come archivio di persistenza per progetti di Big Data. È modellato su Google BigTable ed è in grado di ospitare tabelle molto grandi (miliardi di colonne / righe) perché è stratificato su cluster Hadoop di hardware commodity.
HBase fornisce accesso in lettura / scrittura casuale e in tempo reale ai big data. HBase è altamente configurabile e offre una grande flessibilità per gestire in modo efficiente enormi quantità di dati. Ora diamo un'occhiata a come HBase può aiutare ad affrontare le sfide dei big data.
HBase è un database colonnare, quindi tutti i dati sono memorizzati in tabelle con righe e colonne simili ai sistemi di gestione dei database relazionali (RDBMS). L'intersezione di una riga e di una colonna è detta cella. Una importante differenza tra le tabelle HBase e le tabelle RDBMS è il controllo delle versioni.
Ogni valore di cella include un attributo "versione", che non è altro che un timestamp che identifica in modo univoco la cella. Il controllo della versione tiene traccia delle modifiche nella cella e rende possibile recuperare qualsiasi versione dei contenuti qualora si rendesse necessario. HBase memorizza i dati in celle in ordine decrescente (usando il timestamp), quindi una lettura troverà per prima cosa i valori più recenti.
Le colonne in HBase appartengono a una famiglia di colonne. Il nome della famiglia di colonne viene utilizzato come prefisso per identificare i membri della sua famiglia. Ad esempio, frutta: mela e frutta: la banana fa parte della famiglia delle colonne di frutti. Le implementazioni di HBase sono ottimizzate a livello di famiglia di colonne, quindi è importante essere consapevoli di come si accederà ai dati e di quanto ci si aspetta che siano le colonne.
Anche le righe nelle tabelle HBase hanno una chiave associata. La struttura della chiave è molto flessibile. Può essere un valore calcolato, una stringa o anche un'altra struttura di dati. La chiave viene utilizzata per controllare l'accesso alle celle nella riga e vengono memorizzate in ordine dal valore basso al valore alto.
Tutte queste caratteristiche insieme costituiscono lo schema. Lo schema è definito e creato prima che i dati possano essere archiviati. Anche così, le tabelle possono essere modificate e nuove famiglie di colonne possono essere aggiunte dopo che il database è attivo e funzionante. Questa estensibilità è estremamente utile quando si ha a che fare con i big data perché non sempre si conosce la varietà dei flussi di dati.