Översikt över HBase Storage Architecture



Där består HBase Storage-arkitektur av flera komponenter. Låt oss titta på funktionerna hos dessa komponenter och veta hur data skrivs.

Apache HBase är en öppen källkod, distribuerad, icke-relationell databas modellerad efter Googles Bigtable och skriven i Java. Det ger funktioner som liknar Bigtable ovanpå Hadoop och HDFS (Hadoop Distribuerat filsystem), det vill säga det ger ett feltolerant sätt att lagra stora mängder glesa data, vilket är vanligt i många stora dataanvändningsfall. HBase används för läs / skrivåtkomst i realtid till Big Data.





HBase Storage-arkitekturen består av många komponenter. Låt oss titta på funktionerna hos dessa komponenter och veta hur data skrivs.

strukturen i ett Java-program

HFiler:



HFiles utgör den låga nivån av HBases arkitektur. HFiles är lagringsfiler som skapats för att lagra HBases data snabbt och effektivt.

HMaster:

HMaster är ansvarig för att tilldela regionerna till varje HRegionServer när HBase startas. Det ansvarar för att hantera allt som rör rader, tabeller och deras samordningsaktiviteter. Hmaster har också detaljerna i metadata.



vad är en röding i java

Komponenter av HBase:

HBase har följande komponenter:

  • Tabell - Omfattar regioner
  • Region - Utbud av rader lagrade tillsammans
  • Region Servers - Serverar en eller flera regioner
  • Master Server - Daemon är ansvarig för att hantera HBase-kluster

HBase lagrar data direkt i HDFS och förlitar sig mycket på HDFS: s hög tillgänglighet och feltolerans.

HBase-lagringsarkitektur:

HBase Storage Architecture

Det allmänna flödet är att en klient kontaktar Zookeeper först för att hitta en viss radnyckel. Det görs genom att hämta servernamnet från Zookeeper. Med den här informationen kan den nu fråga den servern för att få den server som innehåller metatabellen. Båda dessa detaljer är cachade och tittade bara upp en gång. Slutligen kan den fråga metaserver och hämta servern som har raden som klienten letar efter.

summan av siffror i java

När den väl vet i vilken region raden finns, cachar den också denna information och kontaktar HRegionServer direkt. Så med tiden har klienten fullständig information om var man kan hämta rader från utan att behöva fråga metaserver igen. När HR-regionen öppnas ställer den in en Store-instans för varje HColumnFamily för varje tabell. Data skrivs när kunden skickar en begäran till HRegionServer som tillhandahåller detaljerna till den matchande HRegion-instansen. Det första steget är att vi måste avgöra om data först ska skrivas till 'Write-Ahead-Log' (WAL) som representeras av HLog-klassen. Beslutet baseras på flaggan som klienten har ställt in.
När data har skrivits till WAL placeras de i MemStore. Samtidigt kontrolleras Memstore om den är full och i så fall begärs en spolning till disk. Sedan skrivs data in i HFilen.

Har du en fråga till oss? Nämn dem i kommentarfältet så återkommer vi till dig.

relaterade inlägg

Insikter om HBase-arkitektur