HBase-voordelen, nadelen en prestatieknelpunten

HBase architectie heeft altijd “Eén punt van mislukking”-functie, en er is geen mechanisme voor de afhandeling van uitzonderingen aan gekoppeld.

Hier zullen we leren wat de voor- en nadelen zijn van HBase en prestatieknelpunten:

Prestatieknelpunten in HBase

  • In elke productieomgeving draait HBase met een cluster van meer dan 5000 knooppunten, alleen Hmaster fungeert als master voor alle slaves Region-servers. Als Hmaster uitvalt, kan deze pas na lange tijd worden hersteld. Ook al kan de client verbinding maken met de regioserver. Het is mogelijk om nog een master te hebben, maar er zal er maar één actief zijn. Het zal lang duren om de tweede Hmaster te activeren als de hoofd-Hmaster uitvalt. Hmaster is dus een prestatieknelpunt.
  • In HBase kunnen we geen cross-data-bewerkingen en samenvoegingsbewerkingen implementeren. Natuurlijk kunnen we de samenvoegingsbewerkingen wel implementeren met behulp van KaartVerminderen, wat veel tijd zou vergen bij het ontwerpen en ontwikkelen. Het samenvoegen van tabellen is moeilijk uit te voeren in HBase. In sommige gevallen is het onmogelijk om join-bewerkingen te maken die betrekking hebben op tabellen die aanwezig zijn in HBase
  • HBase zou een nieuw ontwerp vereisen als we gegevens van externe RDBMS-bronnen naar HBase-servers willen migreren. Dit proces kost echter veel tijd.
  • HBase is erg moeilijk voor het uitvoeren van query's. Mogelijk moeten we HBase met sommige integreren SQL lagen zoals apache phoenix waar we queries kunnen schrijven om de gegevens in de HBase te activeren. Het is echt goed om Apache Phoenix bovenop HBase te hebben.
  • Een ander nadeel van HBase is dat we niet meer dan één indexering in de tabel kunnen hebben, alleen de rijsleutelkolom fungeert als primaire sleutel. De prestatie zou dus traag zijn als we op meer dan één veld of op een andere dan de rijtoets wilden zoeken. Dit probleem kunnen we oplossen door MapReduce-code te schrijven, te integreren met Apache SOLR en met Apache Phoenix.
  • Langzame verbeteringen in de beveiliging voor de verschillende gebruikers om toegang te krijgen tot de gegevens uit HBase.
  • HBase ondersteunt gedeeltelijke sleutels niet volledig
  • HBase staat slechts één standaardsortering per tabel toe
  • Het is erg moeilijk om grote hoeveelheden binaire bestanden in HBase op te slaan
  • De opslag van HBase beperkt real-time queries en sortering
  • Sleutel opzoeken en bereik opzoeken in termen van searchiDoor tabelinhoud te gebruiken met behulp van sleutelwaarden, worden zoekopdrachten beperkt die in realtime worden uitgevoerd
  • Standaardindexering is niet aanwezig in HBase. Programmeurs moeten verschillende coderegels of scripts definiëren om de indexeringsfunctionaliteit in HBase uit te voeren
  • Duur in termen van hardwarevereisten en toewijzingen van geheugenblokken.
    • Er moeten meer servers worden geïnstalleerd voor gedistribueerde clusteromgevingen (zoals elke server voor NameNode, DataNodes, Dierentuinmedewerkeren regioservers)
    • Performance wise het vereist machines met een hoog geheugen
    • Kosten en onderhoud wise het is ook hoger

HBase-voordeel, beperkingen en prestatieknelpunt

Voordelen van HBase

Hier zullen we leren wat de voor- en voordelen zijn van HBase:

  • Kan grote datasets opslaan bovenop HDFS-bestandsopslag en kan aggregeren en analyseren billionen van rijen aanwezig in de HBase-tabellen
  • In HBase kan de database worden gedeeld
  • Bewerkingen zoals het lezen en verwerken van gegevens zullen weinig tijd in beslag nemen in vergelijking met traditionele relationele modellen
  • Willekeurige lees- en schrijfbewerkingen
  • Voor online analytische operaties wordt HBase veelvuldig gebruikt.
  • Bijvoorbeeld: In banktoepassingen zoals real-time data-updates in geldautomaten kan HBase worden gebruikt.

Nadelen van HBase

Hier zijn de belangrijke nadelen/beperkingen van HBase:

  • We kunnen niet verwachten dat we HBase volledig zullen gebruiken als vervanging voor traditionele modellen. Sommige van de traditionele modelfuncties kunnen niet door HBase worden ondersteund
  • HBase kan geen functies zoals SQL uitvoeren. Het ondersteunt geen SQL-structuur en bevat dus geen query-optimalisatie
  • HBase is CPU- en geheugenintensief met grote sequentiële invoer- of uitvoertoegang, terwijl Map Reduce-taken voornamelijk invoer- of uitvoergebonden zijn met vast geheugen. HBase geïntegreerd met Map-reduce-taken zal resulteren in onvoorspelbare latenties
  • HBase geïntegreerd met varkens- en Bijenkorf jobs resulteert in enige tijd geheugenproblemen op het cluster
  • In een gedeelde clusteromgeving vereist de installatie minder taakslots per knooppunt om toe te wijzen aan HBase CPU-vereisten