Avantaje, dezavantaje și performanță HBase
Arhitectura HBase are întotdeauna „Punct unic de eșec” și nu există niciun mecanism de gestionare a excepțiilor asociat cu aceasta.
Aici, vom afla care sunt avantajele și dezavantajele HBase și blocajele de performanță:
Blocajele de performanță în HBase
- În orice mediu de producție, HBase rulează cu un cluster de peste 5000 de noduri, doar Hmaster acționează ca master pentru toate serverele slave din regiune. Dacă Hmaster se prăbușește, acesta poate fi recuperat doar după mult timp. Chiar dacă clientul este capabil să se conecteze la serverul regiunii. Este posibil să ai un alt master, dar doar unul va fi activ. Va dura mult timp pentru a activa al doilea Hmaster dacă Hmaster-ul principal scade. Deci, Hmaster este un blocaj de performanță.
- În HBase, nu putem implementa operațiuni de date încrucișate și operațiuni de alăturare, desigur, putem implementa operațiunile de alăturare folosind MapReduce, ceea ce ar dura mult timp pentru proiectare și dezvoltare. Operațiile de îmbinare a tabelelor sunt dificil de efectuat în HBase. În unele cazuri de utilizare, este imposibil să creați operațiuni de îmbinare care se referă la tabelele care sunt prezente în HBase
- HBase ar necesita un design nou atunci când dorim să migrăm datele din surse externe RDBMS către serverele HBase. Cu toate acestea, acest proces necesită mult timp.
- HBase este foarte greu de interogat. Poate că trebuie să integrăm HBase cu unele SQL straturi ca Apache phoenix unde putem scrie interogări pentru a declanșa datele din HBase. Este foarte bine să ai Apache Phoenix pe deasupra HBase.
- Un alt dezavantaj al HBase este că, nu putem avea mai mult de o indexare în tabel, doar coloana cheie de rând acționează ca o cheie primară. Deci, performanța ar fi lentă atunci când am vrut să căutăm pe mai multe câmpuri sau altele decât cheia Rând. Această problemă o putem depăși scriind cod MapReduce, integrând cu Apache SOLR și cu Apache Phoenix.
- Îmbunătățiri lente ale securității pentru diferiții utilizatori de a accesa datele de la HBase.
- HBase nu acceptă complet cheile parțiale
- HBase permite doar o sortare implicită per tabel
- Este foarte dificil să stocați fișiere binare de dimensiuni mari în HBase
- Stocarea HBase va limita interogările și sortarea în timp real
- Căutarea cheilor și căutarea intervalului în ceea ce privește căutarea conținutului tabelului folosind valori cheie, va limita interogările care funcționează în timp real
- Indexarea implicită nu este prezentă în HBase. Programatorii trebuie să definească mai multe linii de cod sau script pentru a realiza funcționalitatea de indexare în HBase
- Scump în ceea ce privește cerințele hardware și alocările blocurilor de memorie.
- Ar trebui instalate mai multe servere pentru mediile de cluster distribuite (cum ar fi fiecare server pentru NameNode, DataNodes, Ingrijitor zoo, și servere regionale)
- În ceea ce privește performanța, necesită mașini cu memorie mare
- În ceea ce privește costurile și întreținerea, este, de asemenea, mai mare
Avantajele HBase
Aici, vom afla care sunt avantajele/beneficiile HBase:
- Poate stoca seturi mari de date peste stocarea fișierelor HDFS și va agrega și analiza miliarde de rânduri prezente în tabelele HBase
- În HBase, baza de date poate fi partajată
- Operaoperațiuni precum citirea și procesarea datelor vor dura puțin timp în comparație cu modelele relaționale tradiționale
- Operații aleatoare de citire și scriere
- Pentru operațiunile analitice online, HBase este utilizat pe scară largă.
- De exemplu: în aplicațiile bancare, cum ar fi actualizările de date în timp real în bancomate, HBase poate fi utilizat.
Dezavantajele HBase
Iată care sunt dezavantajele/limitările importante ale HBase:
- Nu ne putem aștepta să folosim complet HBase ca înlocuitor pentru modelele tradiționale. Unele dintre caracteristicile modelelor tradiționale nu pot fi acceptate de HBase
- HBase nu poate îndeplini funcții precum SQL. Nu acceptă structura SQL, deci nu conține niciun optimizator de interogări
- HBase consumă mult CPU și memorie, cu acces secvențial mare de intrare sau ieșire, în timp ce, ca Map Reduce, lucrările sunt în principal legate de intrare sau de ieșire cu memorie fixă. HBase integrat cu lucrările Map-reduce va avea ca rezultat latențe imprevizibile
- HBază integrată cu porc și Stup locurile de muncă au ca rezultat unele probleme de memorie temporală pe cluster
- Într-un mediu de cluster partajat, configurarea necesită mai puține sloturi de activități pe nod pentru a le aloca pentru cerințele CPU HBase