HBase fordeler, ulemper og ytelse flaskehals
HBase-arkitektur har alltid "Enkelt feilpunktโ-funksjonen, og det er ingen unntakshรฅndteringsmekanisme knyttet til den.
Her vil vi lรฆre hva som er fordeler og ulemper med HBase og ytelsesflaskehalser:
Ytelsesflaskehalser i HBase
- I et hvilket som helst produksjonsmiljรธ kjรธrer HBase med en klynge pรฅ mer enn 5000 noder, bare Hmaster fungerer som master for alle slaveregionsserverne. Hvis Hmaster gรฅr ned, kan den fรธrst gjenopprettes etter lang tid. Selv om klienten er i stand til รฅ koble til regionserver. ร ha en annen master er mulig, men bare รฉn vil vรฆre aktiv. Det vil ta lang tid รฅ aktivere den andre Hmaster hvis hoved Hmaster gรฅr ned. Sรฅ Hmaster er en ytelsesflaskehals.
- I HBase kan vi ikke implementere kryssdataoperasjoner og sammenfรธyningsoperasjoner, selvfรธlgelig kan vi implementere sammenfรธyningsoperasjonene ved รฅ bruke MapReduce, som vil ta mye tid รฅ designe og utvikle. Tabellsammenfรธyningsoperasjoner er vanskelige รฅ utfรธre i HBase. I noen tilfeller er det umulig รฅ lage joinoperasjoner som er relatert til tabeller som er til stede i HBase
- HBase vil kreve ny design nรฅr vi รธnsker รฅ migrere data fra RDBMS eksterne kilder til HBase-servere. Imidlertid tar denne prosessen mye tid.
- HBase er veldig vanskelig รฅ spรธrre pรฅ. Vi mรฅ kanskje integrere HBase med noen SQL lag som Apache phoenix hvor vi kan skrive spรธrringer for รฅ trigge dataene i HBase. Det er veldig bra รฅ ha Apache Phoenix pรฅ toppen av HBase.
- En annen ulempe med HBase er at vi ikke kan ha mer enn รฉn indeksering i tabellen, bare radnรธkkelkolonne fungerer som en primรฆrnรธkkel. Sรฅ ytelsen ville vรฆre treg nรฅr vi รธnsket รฅ sรธke pรฅ mer enn ett felt eller annet enn radtasten. Dette problemet kan vi overvinne ved รฅ skrive MapReduce-kode, integrere med Apache SOLR og med Apache Phoenix.
- Langsomme forbedringer i sikkerheten for de forskjellige brukerne for รฅ fรฅ tilgang til dataene fra HBase.
- HBase stรธtter ikke delvise nรธkler helt
- HBase tillater bare รฉn standard sortering per tabell
- Det er veldig vanskelig รฅ lagre store binรฆre filer i HBase
- Lagringen av HBase vil begrense sanntidsspรธrringer og sortering
- Nรธkkeloppslag og omrรฅdeoppslag nรฅr det gjelder sรธk i tabellinnhold ved hjelp av nรธkkelverdier, det vil begrense sรธk som utfรธrer i sanntid
- Standardindeksering er ikke til stede i HBase. Programmerere mรฅ definere flere linjer med kode eller skript for รฅ utfรธre indekseringsfunksjonalitet i HBase
- Dyrt i forhold til maskinvarekrav og tildeling av minneblokker.
- Flere servere bรธr installeres for distribuerte klyngemiljรธer (som hver server for NameNode, DataNodes, Dyrepasser, og regionservere)
- Ytelsesmessig krever det maskiner med hรธyt minne
- Kostnads- og vedlikeholdsmessig er det ogsรฅ hรธyere
Fordeler med HBase
Her vil vi lรฆre hva som er fordelene med HBase:
- Kan lagre store datasett pรฅ toppen av HDFS-fillagring og vil samle og analysere milliarder av rader i HBase-tabellene
- I HBase kan databasen deles
- Operasjoner som datalesing og prosessering vil ta kort tid sammenlignet med tradisjonelle relasjonsmodeller
- Tilfeldige lese- og skriveoperasjoner
- For online analytiske operasjoner brukes HBase mye.
- For eksempel: I bankapplikasjoner som sanntidsdataoppdateringer i minibanker, kan HBase brukes.
Ulemper med HBase
Her er de viktige ulempene/begrensningene til HBase:
- Vi kan ikke helt forvente รฅ bruke HBase som erstatning for tradisjonelle modeller. Noen av de tradisjonelle modellens funksjoner kan ikke stรธttes av HBase
- HBase kan ikke utfรธre funksjoner som SQL. Den stรธtter ikke SQL-struktur, sรฅ den inneholder ingen spรธrringsoptimerer
- HBase er CPU- og minneintensiv med stor sekvensiell inngangs- eller utgangstilgang, mens som Map Reduce-jobber primรฆrt er inn- eller utdata bundet med fast minne. HBase integrert med Map-reduce-jobber vil resultere i uforutsigbare ventetider
- HBase integrert med gris og Hive jobber resulterer i noen tidshukommelsesproblemer pรฅ klyngen
- I et delt klyngemiljรธ krever oppsettet fรฆrre oppgavespor per node for รฅ allokere for HBase CPU-krav

