Introduktion till HBase Architecture
HBase är ett open source, distribuerat datalagringssystem för nyckelvärden och kolumnorienterad databas med hög skrivutgång och slumpvis läsprestanda med låg latens. Genom att använda HBase kan vi utföra analyser i realtid online. HBase-arkitekturen har stark slumpmässig läsbarhet. I HBase förvaras data fysiskt i vad som kallas regioner. Varje region är värd av en enda regionserver, och en eller flera regioner är ansvariga för varje regionserver. HBase Architecture består av master-slaveservrar. Klustret HBase har en huvudnod som heter HMaster och flera regionservrar som heter HRegion Server (HRegion Server). Det finns flera regioner - regioner i varje regional server.
HDFS-lagringsmekanism
I HDFS lagras data i tabellen som visas ovan.
Varje rad har en nyckel.
Kolumn: Det är en samling data som tillhör en kolumnfamilj och den ingår i raden.
Kolumnfamilj: Varje kolumnfamilj består av en eller flera kolumner.
Varje tabell innehåller en samling kolumnfamiljer. Dessa kolumner ingår inte i schemat.
HBase har dynamiska kolumner. Olika celler kan ha olika kolumner eftersom kolumnnamn är kodade inuti cellerna
Column Qualifier: Kolumnnamn kallas Column Qualifier.
HBase Architecture Components
Det finns huvudelement i HBase-arkitekturen: HMaster och Region Server. Regional HBase Saving Data.
1. HMaster
HMaster-noden är lätt och används för att tilldela regionen till serverregionen.
Det finns några huvudansvar för Hmaster som är:
- Utföra vissa administrationsuppgifter, inklusive lastning, balansering, skapande av data, uppdatering, radering etc.
Ansvarig för ändringar i schemat eller ändringar i META-data i enlighet med klientapplikationens riktning
- Mycket DDL-arbete på HBas-bord hanteras av HMaster.
Några av de metoder som HMaster Interface exponerar är huvudsakligen. META-datorienterade metoder.
- Tabell (skapa, ta bort, aktivera, inaktivera, ta bort tabell)
- ColumnFamily (lägg till Column, modifiera Column)
- Region (flytta, tilldela)
Klienten kommunicerar med både HMaster och ZooKeeper i två riktningar. Den kontaktar HRegion-servrar direkt för att läsa och skriva operationer. HMaster tilldelar regioner till servrar i regionen och kontrollerar i sin tur regionala servers hälsostatus.
2. Regionserver
Vi kan få en grov uppfattning om regionservern med ett diagram som ges nedan.
Regionservrar fungerar noder som hanterar kundernas önskemål om att läsa, skriva, uppdatera och radera. Region Server är lätt, den körs på alla noderna i kluster Hadoop. Regionserverns huvuduppgift är att spara data i områden och att utföra kundförfrågningar. En annan viktig uppgift för HBase Region Server är att använda metoden Auto-Sharding för att utföra lastbalansering genom att dynamiskt distribuera HBase-tabellen när den blir för stor efter att data har lagts in.
Flera HRegion-servrar kan kontaktas av HMaster och utföra följande funktioner:
- Hantera och Regionvärdar
- Dela regioner automatiskt
- Hantering av förfrågningar om läsning och skrivning
- Direkt kundkommunikation
3. HDFS
HDFS står för Hadoop Distribution File-systemet. Den lagrar varje fil i flera block och replikerar block över ett Hadoop-kluster för att bibehålla feltolerans. HDFS ger hög feltolerans och fungerar med billiga material. Genom att använda billig varuhårdvara för att lägga till noder i klustret och bearbeta och spara kommer det att ge kunden bättre resultat än den befintliga hårdvaran. HDFS kontaktar komponenterna i HBase och sparar mycket data på ett distribuerat sätt.
4. Zookeeper
Zookeeper är ett öppen källkodsprojekt. HMaster och HRegionServers registrerar sig hos ZooKeeper.
Det tillhandahåller olika tjänster som att upprätthålla konfigurationsinformation, namnge, tillhandahålla distribuerad synkronisering etc. Distribuerad synkronisering är processen för att tillhandahålla koordinationstjänster mellan noder för åtkomst till körande applikationer. Det har flyktiga noder som representerar regionens servrar. Master-servrar använder dessa noder för att söka efter tillgängliga servrar.
Dessa noder används också för att spåra nätverkspartitioner och serverfel. Zookeeper är det interagerande mediet mellan klientregionens server. Om en klient vill kommunicera med regionservern är zookeeper kommunikationsmediet mellan dem.
Hur sökinitieras i HBase Architecture
Som du vet sparas META-tabellplatsen av Zookeeper. När en kund närmar sig eller skriver förfrågningar om HBase är proceduren enligt följande.
Kunden hittar från ZooKeeper hur man placerar dem META-bordet. Klienten begär sedan rätt radnyckel från META-tabellen för att få åtkomst till regionens serverplats. Med META-tabellplatsen cachar kunden denna information. Kunden ska inte hänvisa till dem META-tabellen förrän och om området flyttas eller flyttas. Sedan kommer META-servern att begäras igen och cachen uppdateras. Som alltid slösar inte kunder tid med att hitta Region Server-platsen på META Server, så det sparar tid och snabbar upp sökprocessen.
Funktioner
Det är lätt att integrera från källa såväl som destinationen med Hadoop.
Den distribuerade lagring som HDFS stöds.
Den har en slumpmässig åtkomstfunktion genom att använda en intern Hash-tabell för att lagra data för snabbare sökningar i HDFS-filer.
Fördelar med HBase Architecture
- Dessa kan lagra stora datamängder
- Vi kan dela databasen
- Gigabyte till petabyte kostnadseffektivt
- Hög tillgänglighet genom replikering och misslyckande
Nackdelar med HBase Architecture
- SQL-struktur stöder inte
- Stöder inte transaktion
- Endast med nyckelsortering
- Problem med klusterminnet
Slutsats
HBase är en av NonSql-kolumnorienterad distribuerad databas i apache. Jämfört med Hadoop eller Hive, presterar HBase bättre för att hämta färre poster. Så i den här artikeln diskuterade vi HBase-arkitektur och det är viktiga komponenter.
Rekommenderade artiklar
Detta har varit en guide till HBase Architecture. Här diskuterade vi konceptet, komponenter, funktioner, fördelar och nackdelar. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Vad är Big Data Technology?
- HDFS vs HBase Vilken som är bättre
- Vad är församlingsspråk?
- Introduktion till HTML