Vantaggi, svantaggi e collo di bottiglia delle prestazioni di HBase
L'architettura HBase ha sempre "Singolo punto di fallimento" e non esiste alcun meccanismo di gestione delle eccezioni ad essa associato.
Qui impareremo quali sono i pro e i contro di HBase e i colli di bottiglia delle prestazioni:
Colli di bottiglia delle prestazioni in HBase
- In qualsiasi ambiente di produzione, HBase viene eseguito con un cluster di oltre 5000 nodi, solo Hmaster funge da master per tutti i server regionali slave. Se Hmaster va giù, può essere recuperato solo dopo molto tempo. Anche se il client è in grado di connettersi al server della regione. È possibile avere un altro master ma solo uno sarà attivo. Ci vorrà molto tempo per attivare il secondo Hmaster se quello principale si guasta. Quindi, Hmaster è un collo di bottiglia delle prestazioni.
- In HBase, non possiamo implementare alcuna operazione tra dati e operazioni di unione, ovviamente possiamo implementare le operazioni di unione utilizzando MapReduce, che richiederebbe molto tempo per la progettazione e lo sviluppo. Le operazioni di unione delle tabelle sono difficili da eseguire in HBase. In alcuni casi d'uso, è impossibile creare operazioni di join relative alle tabelle presenti in HBase
- HBase richiederebbe una nuova progettazione quando vogliamo migrare i dati da fonti esterne RDBMS ai server HBase. Tuttavia, questo processo richiede molto tempo.
- HBase è davvero difficile da interrogare. Potrebbe essere necessario integrare HBase con alcuni SQL strati come Apache phoenix dove possiamo scrivere query per attivare i dati nell'HBase. È davvero bello avere Apache Phoenix sopra HBase.
- Un altro svantaggio di HBase è che non possiamo avere più di un'indicizzazione nella tabella, solo la colonna chiave della riga funge da chiave primaria. Pertanto, le prestazioni sarebbero lente quando volessimo cercare su più di un campo o su una chiave diversa dalla riga. Questo problema possiamo superarlo scrivendo il codice MapReduce, integrandolo con Apache SOLR e con Apache Phoenix.
- Lenti miglioramenti nella sicurezza per consentire ai diversi utenti di accedere ai dati da HBase.
- HBase non supporta completamente le chiavi parziali
- HBase consente un solo ordinamento predefinito per tabella
- È molto difficile archiviare file binari di grandi dimensioni in HBase
- L'archiviazione di HBase limiterà le query e l'ordinamento in tempo reale
- Ricerca chiave e ricerca intervallo in termini di ricerca del contenuto della tabella utilizzando valori chiave, limiterà le query eseguite in tempo reale
- L'indicizzazione predefinita non è presente in HBase. I programmatori devono definire diverse righe di codice o script per eseguire la funzionalità di indicizzazione in HBase
- Costoso in termini di requisiti hardware e allocazione dei blocchi di memoria.
- Dovrebbero essere installati più server per ambienti cluster distribuiti (come ciascun server per NameNode, DataNode, Custode dello zooe server regionali)
- Dal punto di vista delle prestazioni richiede macchine con elevata memoria
- Anche in termini di costi e manutenzione è più elevato
Vantaggi di HBase
Qui impareremo quali sono i vantaggi/vantaggi di HBase:
- Può archiviare grandi set di dati su file storage HDFS e aggregherà e analizzerà miliardi di righe presenti nelle tabelle HBase
- In HBase, il database può essere condiviso
- Operaoperazioni come la lettura e l'elaborazione dei dati richiederanno tempi ridotti rispetto ai modelli relazionali tradizionali
- Operazioni di lettura e scrittura casuali
- Per le operazioni analitiche online, HBase è ampiamente utilizzato.
- Ad esempio: nelle applicazioni bancarie come gli aggiornamenti dei dati in tempo reale nei bancomat, è possibile utilizzare HBase.
Svantaggi di HBase
Ecco gli importanti svantaggi/limitazioni di HBase:
- Non possiamo aspettarci di utilizzare completamente HBase in sostituzione dei modelli tradizionali. Alcune delle funzionalità dei modelli tradizionali non possono essere supportate da HBase
- HBase non può eseguire funzioni come SQL. Non supporta la struttura SQL, quindi non contiene alcun ottimizzatore di query
- HBase richiede un uso intensivo di CPU e memoria con accesso sequenziale di input o output di grandi dimensioni, mentre i processi Map Reduce sono principalmente input o output vincolati a memoria fissa. HBase integrato con i lavori Map-reduce comporterà latenze imprevedibili
- HBase integrato con maiale e Alveare i lavori comportano in alcuni casi problemi di memoria sul cluster
- In un ambiente cluster condiviso, la configurazione richiede meno slot di attività per nodo da allocare per i requisiti della CPU HBase