HBase Fördelar, Nackdelar & Prestanda Flaskhals

HBase-arkitekturen har alltid "Enstaka felpunkt”-funktionen, och det finns ingen undantagshanteringsmekanism kopplad till den.

Här kommer vi att lära oss vad som är fördelarna och nackdelarna med HBase och prestandaflaskhalsar:

Prestanda flaskhalsar i HBase

  • I alla produktionsmiljöer körs HBase med ett kluster med mer än 5000 noder, endast Hmaster fungerar som master för alla slavregionservrar. Om Hmaster går ner kan den återställas först efter en lång tid. Även om klienten kan ansluta regionserver. Det är möjligt att ha en annan master men bara en kommer att vara aktiv. Det kommer att ta lång tid att aktivera den andra Hmastern om huvud Hmaster går ner. Så Hmaster är en prestationsflaskhals.
  • I HBase kan vi inte implementera några korsdataoperationer och sammanfogningsoperationer, naturligtvis kan vi implementera sammanfogningsoperationer med hjälp av MapReduce, vilket skulle ta mycket tid att designa och utveckla. Det är svårt att utföra tabellanslutningsoperationer i HBase. I vissa fall är det omöjligt att skapa join-operationer som är relaterade till tabeller som finns i HBase
  • HBase skulle kräva ny design när vi vill migrera data från RDBMS externa källor till HBase-servrar. Denna process tar dock mycket tid.
  • HBase är verkligen svårt att fråga. Vi kanske måste integrera HBase med några SQL lager som Apache phoenix där vi kan skriva frågor för att trigga data i HBase. Det är riktigt bra att ha Apache Phoenix ovanpå HBase.
  • En annan nackdel med HBase är att vi inte kan ha mer än en indexering i tabellen, endast radnyckelkolumnen fungerar som en primärnyckel. Så prestandan skulle vara långsam när vi ville söka på mer än ett fält eller annat än radnyckel. Detta problem kan vi övervinna genom att skriva MapReduce-kod, integrera med Apache SOLR och med Apache Phoenix.
  • Långsamma förbättringar av säkerheten för de olika användarna att komma åt data från HBase.
  • HBase stöder inte partiella nycklar helt
  • HBase tillåter endast en standardsortering per tabell
  • Det är mycket svårt att lagra stora binära filer i HBase
  • Lagringen av HBase kommer att begränsa realtidsförfrågningar och sortering
  • Nyckelsökning och Range lookup när det gäller att söka tabellinnehåll med nyckelvärden, det kommer att begränsa frågor som utförs i realtid
  • Standardindexering finns inte i HBase. Programmerare måste definiera flera rader kod eller skript för att utföra indexeringsfunktioner i HBase
  • Dyrt när det gäller hårdvarukrav och tilldelning av minnesblock.
    • Fler servrar bör installeras för distribuerade klustermiljöer (som varje server för NameNode, DataNodes, ZooKeeperoch regionservrar)
    • Prestandamässigt kräver det höga minnesmaskiner
    • Kostnads- och underhållsmässigt är det också högre

HBase Advantage, Limitations & Performance Flaskhals

Fördelar med HBase

Här kommer vi att lära oss vad som är fördelarna med HBase:

  • Kan lagra stora datamängder ovanpå HDFS-fillagring och kommer att aggregera och analysera miljarder rader som finns i HBase-tabellerna
  • I HBase kan databasen delas
  • Operationer som dataläsning och bearbetning kommer att ta kort tid jämfört med traditionella relationsmodeller
  • Slumpmässiga läs- och skrivoperationer
  • För onlineanalyser används HBase flitigt.
  • Till exempel: I bankapplikationer som realtidsdatauppdateringar i bankomater kan HBase användas.

Nackdelar med HBase

Här är de viktiga nackdelarna/begränsningarna med HBase:

  • Vi kan inte helt förvänta oss att använda HBase som en ersättning för traditionella modeller. Vissa av de traditionella modellernas funktioner stöds inte av HBase
  • HBase kan inte utföra funktioner som SQL. Den stöder inte SQL-struktur, så den innehåller ingen frågeoptimerare
  • HBase är CPU- och minnesintensivt med stor sekventiell in- eller utåtkomst medan som Map Reduce-jobb primärt är in- eller utmatningsbundna med fast minne. HBase integrerat med Map-reduce-jobb kommer att resultera i oförutsägbara latenser
  • HBase integrerad med gris och Bikupa jobb resulterar i vissa tidsminnesproblem på kluster
  • I en delad klustermiljö kräver installationen färre uppgiftsplatser per nod för att allokera för HBase CPU-krav