HBase Architecture: Használati esetek, komponensek és adatmodell

HBase Architecture és fontos összetevői

A HBase architektúra főként négy összetevőből áll

  • HMaster
  • HRegionserver
  • HRégiók
  • Állatgondozó
  • HDFS

Az alábbiakban a HBase részletes felépítése látható a komponensekkel:

HBase Architectúra
HBase Architecture diagram

HMaster

HMaster a HBase-ben egy Master szerver megvalósítása a HBase architektúrában. Megfigyelő ügynökként működik a fürtben jelen lévő összes Region Server-példány figyelésére, és interfészként működik az összes metaadat-módosításhoz. Elosztott fürtkörnyezetben a Master a NameNode-on fut. A Master több háttérszálat futtat.

Az alábbiakban a HMaster fontos szerepei vannak a HBase-ben.

  • Létfontosságú szerepet játszik a teljesítmény és a csomópontok karbantartása szempontjából a fürtben.
  • A HMaster rendszergazdai teljesítményt biztosít, és szolgáltatásokat oszt el a különböző régiós szerverek között.
  • A HMaster régiókat rendel a régiószerverekhez.
  • A HMaster olyan funkciókkal rendelkezik, mint a terheléselosztás és a feladatátvétel vezérlése a fürtben lévő csomópontokon keresztüli terhelés kezelésére.
  • Ha egy ügyfél bármilyen sémát és metaadat-műveletet szeretne módosítani, a HMaster felelősséget vállal ezekért a műveletekért.

A HMaster Interface által közzétett módszerek némelyike ​​elsősorban metaadat-orientált módszer.

  • Táblázat (CreateTable, RemoveTable, Engedélyezés, Letilt)
  • ColumnFamily (oszlop hozzáadása, oszlop módosítása)
  • Régió (áthelyezés, hozzárendelés)

Az ügyfél kétirányú kommunikációt folytat a HMasterrel és a ZooKeeperrel is. Az olvasási és írási műveletekhez közvetlenül kapcsolatba lép a HRegion szerverekkel. A HMaster régiókat rendel a régiókiszolgálókhoz, és ellenőrzi a régiókiszolgálók állapotát.

A teljes architektúrában több régiószerverünk van. A Hlog a régiószervereken található, amelyek az összes naplófájlt tárolni fogják.

HBase régiószerverek

Amikor a HBase Region Server írási és olvasási kéréseket kap az ügyféltől, a kérést egy adott régióhoz rendeli, ahol a tényleges oszlopcsalád található. A kliens azonban közvetlenül kapcsolatba léphet a HRegion szerverekkel, nincs szükség HMaster kötelező engedélyére a HRegion szerverekkel való kommunikációhoz. Az ügyfélnek szüksége van a HMaster segítségére, ha metaadatokkal és sémamódosításokkal kapcsolatos műveletekre van szükség.

A HRegionServer a Region Server implementációja. Felelős az elosztott fürtben lévő régiók vagy adatok kiszolgálásáért és kezeléséért. A régiókiszolgálók a Hadoop-fürtben található adatcsomópontokon futnak.

A HMaster több HRegion szerverrel is kapcsolatba léphet, és a következő funkciókat látja el.

  • Régiók fogadása és kezelése
  • Régiók automatikus felosztása
  • Olvasási és írási kérések kezelése
  • Közvetlen kommunikáció az ügyféllel

HBase régiók

A HRegions a HBase fürt alapvető építőelemei, amely táblák elosztásából áll, és oszlopcsaládokból áll. Több üzletet tartalmaz, minden oszlopcsaládhoz egyet. Főleg két összetevőből áll, ezek a Memstore és a Hfile.

Állatgondozó

A HBase Zookeeper egy központi megfigyelő szerver, amely karbantartja a konfigurációs információkat és elosztott szinkronizálást biztosít. Az elosztott szinkronizálás célja a fürtben futó elosztott alkalmazások elérése, a csomópontok közötti koordinációs szolgáltatások biztosításával. Ha a kliens régiókkal szeretne kommunikálni, a szerver kliensének először meg kell közelítenie a ZooKeeper-t.

Ez egy nyílt forráskódú projekt, és nagyon sok fontos szolgáltatást nyújt.

által nyújtott szolgáltatások Állatgondozó

  • Karbantartja a konfigurációs információkat
  • Elosztott szinkronizálást biztosít
  • Kliens kommunikáció kialakítása régiószerverekkel
  • Efemer csomópontokat biztosít, amelyek különböző régiószervereket képviselnek
  • Az efemer csomópontok főkiszolgálói használhatósága a fürtben elérhető kiszolgálók felderítéséhez
  • A szerverhiba és a hálózati partíciók nyomon követése

A mester és a HBase szolga csomópontok (régiószerverek) regisztrálták magukat a ZooKeepernél. Az ügyfélnek hozzá kell férnie a ZK(zookeeper) kvórumkonfigurációjához, hogy kapcsolódjon a fő és a régiókiszolgálókhoz.

A HBase-fürtben lévő csomópontok meghibásodása során a ZKquoram hibaüzeneteket indít el, és megkezdi a meghibásodott csomópontok javítását.

HDFS

A HDFS egy Hadoop elosztott File System, ahogy a neve is sugallja, elosztott környezetet biztosít a tároló számára, és ez egy olyan fájlrendszer, amelyet úgy terveztek, hogy árucikk hardvereken futhasson. Minden fájlt több blokkban tárol, és a hibatűrés fenntartása érdekében a blokkokat egy Hadoop-fürtön replikálja.

A HDFS nagyfokú hibatűrést biztosít, és olcsó árucikk hardvereken működik. Ha csomópontokat ad hozzá a fürthöz, és feldolgozást és tárolást hajt végre az olcsó árucikkek hardverével, jobb eredményeket biztosít az ügyfélnek, mint a meglévő.

Itt az egyes blokkban tárolt adatok 3 csomópontra replikálódnak, ha bármelyik csomópont leáll, nem lesz adatvesztés, megfelelő biztonsági mentési helyreállítási mechanizmussal rendelkezik.

HDFS kapcsolatba léphet a HBase komponenseivel, és nagy mennyiségű adatot tárol elosztott módon.

HBase adatmodell

HBase adatmodell táblázatokból, sorokból, oszlopcsaládokból, cellákból, oszlopokból és verziókból álló összetevők halmaza. A HBase táblák oszlopcsaládokat és sorokat tartalmaznak, amelyek elemei elsődleges kulcsként vannak definiálva. A HBase adatmodelltáblázat egyik oszlopa az objektumok attribútumait képviseli.

A HBase adatmodell a következő elemekből áll,

  • Állítsa be a táblázatokat
  • Minden táblázat oszlopcsaládokkal és sorokkal
  • Minden táblázatnak rendelkeznie kell egy elsődleges kulcsként definiált elemmel.
  • A sorbillentyű elsődleges kulcsként működik a HBase-ben.
  • A HBase táblákhoz való bármely hozzáférés ezt az elsődleges kulcsot használja
  • A HBase minden oszlopa az objektumnak megfelelő attribútumot jelöli

HBase használati esetek

Az alábbiakban példák találhatók a HBase használati eseteire, részletes magyarázattal a különféle műszaki problémákra kínált megoldásokról

Problémanyilatkozat Megoldás
Távközlési ipar a következő technikai kihívásokkal kell szembenéznie

  • A telekommunikációs tartomány által generált több milliárd CDR (hívás részletes rögzítése) naplóbejegyzésének tárolása
  • Valós idejű hozzáférés biztosítása az ügyfelek CDR-naplóihoz és számlázási információihoz
  • Költséghatékony megoldást kínál a hagyományos adatbázis-rendszerekhez képest
A HBase-t részletes hívásrekordok milliárdjainak tárolására használják. Ha havonta 20 TB adatot adnak hozzá a meglévő RDBMS adatbázishoz, a teljesítmény romlik. Nagy mennyiségű adat kezelésére ebben a használati esetben a HBase a legjobb megoldás. A HBase gyors lekérdezést hajt végre és rekordokat jelenít meg.
A Bankszektor több millió rekordot generál naponta. Ezen túlmenően a bankszektornak szüksége van egy analitikai megoldásra is, amely képes észlelni a csalást a pénzügyletek során Hatalmas mennyiségű adat tárolására, feldolgozására és frissítésére, valamint elemzések elvégzésére ideális megoldás – a HBase integrálva számos Hadoop ökoszisztéma-komponenssel.

Ezen kívül a HBase használható

  • Amikor nehéz pályázatokat kell írni.
  • Online naplóelemzés végrehajtása és megfelelőségi jelentések készítése.

Tárolási mechanizmus a HBase-ben

A HBase egy oszloporientált adatbázis, és az adatokat táblázatokban tárolják. A táblázatok sorazonosító szerint vannak rendezve. Az alábbiakban látható módon a HBase rendelkezik RowId-vel, amely a táblázatban található több oszlopcsalád gyűjteménye.

A sémában szereplő oszlopcsaládok kulcs-érték párok. Ha részletesen megfigyeljük, hogy minden oszlopcsalád több oszlopból áll. A lemezmemóriában tárolt oszlopértékek. A táblázat minden cellája saját metaadattal rendelkezik, például időbélyeggel és egyéb információkkal.

Tárolási mechanizmus a HBase-ben
Tárolási mechanizmus a HBase-ben

A HBase-hez érve a következő kulcsfogalmak a táblázatsémát jelölik

  • Táblázat: jelen lévő sorok gyűjteménye.
  • Sor: Oszlopcsaládok gyűjteménye.
  • Oszlopcsalád: Oszlopok gyűjteménye.
  • Oszlop: Kulcs-érték párok gyűjteménye.
  • névtér: A táblázatok logikai csoportosítása.
  • Sejt: A {sor, oszlop, verzió} sor pontosan meghatározza a HBase celladefinícióját.

Oszloporientált vs sororientált tárolók

Az oszlop- és sororientált tárolók tárolási mechanizmusukban különböznek. Amint azt mindannyian tudjuk, a hagyományos relációs modellek soralapú formátumban tárolják az adatokat, például adatsorok formájában. Az oszloporientált tárolók az adattáblázatokat oszlopok és oszlopcsaládok szerint tárolják.

Az alábbi táblázat néhány lényeges különbséget mutat be a két tároló között

Oszloporientált adatbázis Sororientált adatbázis
Amikor a helyzet a folyamattal és az elemzéssel kapcsolatos, ezt a megközelítést alkalmazzuk. Mint például Online elemző feldolgozás és ez alkalmazások. Online tranzakciós folyamat például a banki és pénzügyi területek ezt a megközelítést használják.
Az ebben a modellben tárolható adatmennyiség petabájtban kifejezve nagyon hatalmas Kis számú sorra és oszlopra tervezték.

HBase olvasási és írási adatok magyarázata

Az olvasási és írási műveletek a kliensből a Hfile-be az alábbi ábrán láthatók.

HBase adatok olvasása és írása

Step 1) Az ügyfél adatokat akar írni, és először a Regions szerverrel, majd a régiókkal kommunikál

Step 2) Régiók, amelyek kapcsolatba lépnek a memstore-val az oszlopcsaládhoz társított tárolás miatt

Step 3) Az adatok először a Memstore-ban tárolódnak, ahol az adatok rendezésre kerülnek, majd a HFile-be kerülnek. A Memstore használatának fő oka az adatok tárolása egy sorkulcson alapuló elosztott fájlrendszerben. A Memstore a régiókiszolgáló fő memóriájába kerül, míg a HFiles a HDFS-be íródik.

Step 4) Az ügyfél a Régiókból szeretne adatokat olvasni

Step 5) Az Ügyfél viszont közvetlenül hozzáférhet a Mem store-hoz, és adatokat kérhet.

6. lépés) Ügyfél megközelíti a HFiles-t, hogy megszerezze az adatokat. Az adatokat az Ügyfél kéri le és kéri le.

A Memstore tárolja az áruház memóriájában végrehajtott módosításokat. A HBase régiókban lévő objektumok hierarchiája az alábbi táblázatban látható fentről lefelé.

Táblázat A HBase tábla megtalálható a HBase fürtben
Vidék HRégiók a bemutatott táblázatokhoz
bolt ColumnFamily-enként tárolja a tábla egyes régióit
Memstore
  • Memstore az egyes üzletekhez a tábla egyes régióihoz
  • Az adatokat a HFiles-be ürítés előtt rendezi
  • Az írási és olvasási teljesítmény a rendezés miatt nő
StoreFile StoreFiles az egyes üzletekhez a tábla egyes régióihoz
Blokk A StoreFiles-ben található blokkok

HBase vs. HDFS

A HBase a HDFS és a tetején fut Hadoop. Néhány fő különbség a HDFS és a HBase között az adatműveletek és -feldolgozás szempontjából.

HBASE HDFS
Alacsony késleltetésű műveletek Magas késleltetésű műveletek
Véletlenszerű olvasás és írás Egyszer írj Sokszor olvass
keresztül érhető el shell parancsok, ügyfél API be Java, REST, Avro vagy Thrift Elsősorban MR (Map Reduce) munkákon keresztül érhető el
A tárolás és a feldolgozás egyaránt elvégezhető Csak raktározásra alkalmas

Néhány tipikus IT ipari alkalmazás a HBase műveleteket használja a Hadoop mellett. Az alkalmazások között megtalálhatók a tőzsdei adatok, az online banki adatkezelések, és a feldolgozás a Hbase a legalkalmasabb megoldási mód.

Összegzésként

  • HBase architektúra összetevői: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
  • A HMaster a HBase-ben egy mesterkiszolgáló megvalósítása a HBase architektúrában.
  • Amikor a HBase Region Server írási és olvasási kéréseket kap az ügyféltől, a kérést egy adott régióhoz rendeli, ahol a tényleges oszlopcsalád található.
  • A HRegions a HBase fürt alapvető építőelemei, amely táblák elosztásából áll, és oszlopcsaládokból áll.
  • A HBase Zookeeper egy központi megfigyelő szerver, amely karbantartja a konfigurációs információkat és elosztott szinkronizálást biztosít.
  • A HDFS nagyfokú hibatűrést biztosít, és olcsó árucikk hardvereken fut.
  • A HBase adatmodell olyan összetevők halmaza, amely táblázatokból, sorokból, oszlopcsaládokból, cellákból, oszlopokból és verziókból áll.
  • Az oszlop- és sororientált tárolók tárolási mechanizmusukban különböznek.