Video: Azure Friday | Cassandra API for Azure Cosmos DB 2024
Quindi, quando dovresti prendere in considerazione l'utilizzo di HBase? Anche se la risposta a questa domanda non è necessariamente semplice per tutti, per i principianti è necessario disporre di una grande quantità di dati e di risorse hardware sufficienti.
-
Un requisito per i Big Data: Terabyte per i petabyte, altrimenti avrai molti server inattivi nei tuoi rack.
-
Risorse hardware sufficienti: Cinque server è un buon punto di partenza.
Quando si considera quale rotta prendere - HBase contro RDBMS - prendere in considerazione altri requisiti come supporto delle transazioni, tipi di dati ricchi, indici e supporto del linguaggio di query - sebbene questi fattori non siano in bianco e nero come precedente due proiettili. I tipi di dati, gli indici e il supporto del linguaggio di query possono essere aggiunti tramite altre tecnologie, come Hive o prodotti commerciali.
"E le transazioni? " tu chiedi.
Alcuni casi d'uso per RDBMS, come l'elaborazione delle transazioni online, dipendono da transazioni conformi a ACID tra il client e RDBMS affinché il sistema funzioni correttamente. (ACID - A tomicità, C onsistency, I solation e D urability)
Se confrontato con un RDBMS, HBase non è considerato un database conforme a ACID al momento della stesura di questo documento. HBase non supporta le transazioni conformi agli ACID su più righe o tabelle. Tuttavia, HBase garantisce i seguenti aspetti:
-
Atomico: Tutte le operazioni a livello di riga all'interno di una tabella sono atomiche. Questa garanzia viene mantenuta anche quando c'è più di una famiglia di colonne all'interno di una riga.
-
Consistenza: Le operazioni di scansione restituiscono una vista coerente dei dati memorizzati in HBase in un determinato momento. L'interazione simultanea con il client potrebbe aggiornare una riga durante una scansione su più righe, ma tutte le righe restituite da un'operazione di scansione conterranno sempre dati validi da qualche punto nel passato.
-
Durata: Anche i dati che possono essere recuperati da HBase sono stati resi durevoli su disco (persistenti su HDFS, in altre parole).
Uno degli aspetti interessanti di HBase e di altri progetti Apache open source è che qualcuno nella comunità sta sempre innovando e sta cercando di migliorare la tecnologia. HBase supporta le transazioni su più righe se le righe si trovano nello stesso RegionServer. Questa funzione, che richiede un'ulteriore codifica, è stata introdotta in HBase versione 0. 94. 0. (Se sei curioso, la codifica aggiuntiva si concentra sulla politica di suddivisione di HBase.)
Quando le proprietà ACID sono richieste dai client HBase, progetta il Schema HBase tale che non sono richieste operazioni di dati incrociati o incrociati.Mantenere i dati all'interno di una riga fornisce atomicità.