HBase architektúra, alkatrészek, adatmodell és használati esetek

Tartalomjegyzék:

Anonim

Tárolási mechanizmus a HBase-ben

A HBase oszloporientált adatbázis, és az adatokat táblákban tárolják. A táblázatokat a RowId rendezi. Amint az alábbiakban látható, a HBase rendelkezik a RowId névvel, amely a táblázatban található számos 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ádnak több oszlopszáma van. A lemezmemóriában tárolt oszlopértékek. A táblázat minden cellájának saját metaadatai vannak, például időbélyeg és egyéb információk.

Tárolási mechanizmus a HBase-ben

A HBase-hez eljutva a következők a táblázat sémát képviselő kulcsfontosságú kifejezések

  • Táblázat : Jelenlegi sorok gyűjteménye.
  • Sor : oszlopcsaládok gyűjteménye.
  • Oszlopcsalád : Oszlopgyűjtemény.
  • Oszlop : Kulcs-érték párok gyűjtése.
  • Névtér : A táblák logikai csoportosítása.
  • Cella : A {sor, oszlop, verzió} duplaszám pontosan meghatározza a celladefiníciót a HBase-ben.

Ebben az oktatóanyagban megtanulod,

  • Tárolási mechanizmus a HBase-ben
  • HBase adatmodell
  • HBase architektúra és fontos alkotóelemei
  • A HBase magyarázata az adatok olvasására és írására
  • HBase használati esetek
  • HBASE vs. HDFS

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

Az oszlopos és soros tárolók tárolási mechanizmusukban különböznek egymástól. Mint mindannyian tudjuk, a hagyományos relációs modellek az adatokat sor alapú formátumban tárolják, mint az adatsorok szempontjából. Az oszloporientált tárolók az adattáblákat oszlopok és oszlopcsaládok szerint tárolják.

Az alábbi táblázat néhány kulcsfontosságú különbséget mutat e két tároló között

Oszloporientált adatbázis Sororientált adatbázis
  • Amikor a folyamat és az elemzés a helyzet, ezt a megközelítést alkalmazzuk. Ilyen például az online analitikai feldolgozás és annak alkalmazásai.
  • Az online tranzakciós folyamatok, például a banki és pénzügyi területek használják ezt a megközelítést.
  • Ebben a modellben nagyon sok adat tárolható, mint a petabájtokat tekintve
  • Kis számú sor és oszlop számára készült.

HBase adatmodell

A HBase adatmodell összetevőkből áll, amelyek táblákból, sorokból, oszlopcsaládokból, cellákból, oszlopokból és verziókból állnak. A HBase táblák oszlopcsaládokat és sorokat tartalmaznak, amelyek elsődleges kulcsként definiált elemeket tartalmaznak. A HBase adatmodelltáblázat oszlopai az objektumok attribútumait képviselik.

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

  • Táblázatkészlet
  • Minden táblázat oszlopcsaládokkal és sorokkal
  • Minden táblának tartalmaznia kell egy Elsődleges kulcsként definiált elemet.
  • A sor kulcs 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-ben található minden oszlop az objektumnak megfelelő attribútumot jelöli

HBase architektúra és fontos alkotóelemei

Az alábbiakban bemutatjuk a HBase részletes architrecutre-ját az alkatrészekkel:

HBase építészeti rajz

A HBase architektúra főleg négy komponensből áll

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

HMaster:

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

A következő fontos szerepeket a HMaster hajtja végre a HBase-ben.

  • Alapvető szerepet játszik a teljesítmény és a fürt csomópontjainak fenntartása szempontjából.
  • A HMaster adminisztrációs teljesítményt nyújt, és szolgáltatásokat terjeszt a különféle régiók szervereihez.
  • A HMaster régiókat rendel hozzá a régiókiszolgálókhoz.
  • A HMaster rendelkezik olyan funkciókkal, mint a terheléselosztás és a feladatátvitel ellenőrzése a terhelés kezelésére a fürtben lévő csomópontok felett.
  • Amikor az ügyfél bármilyen sémát és metaadat-műveletet meg akar változtatni, a HMaster felelősséget vállal ezekért a műveletekért.

A HMaster Interface által kitett módszerek közül néhány elsősorban metaadat-orientált módszer.

  • Táblázat (createTable, removeTable, engedélyezés, letiltás)
  • ColumnFamily (oszlop hozzáadása, oszlop módosítása)
  • Régió (áthelyezés, hozzárendelés)

Az ügyfél kétirányú módon kommunikál mind a HMasterrel, mind a ZooKeeper-rel. Írási és olvasási műveletekhez közvetlenül kapcsolatba lép a HRegion szerverekkel. A HMaster régiókat rendel hozzá a régiókiszolgálókhoz, és viszont 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ós kiszolgálókon található, amelyek az összes naplófájlt tárolni fogják.

HBase régiók szerverei:

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

A HRegionServer a Region Server megvalósítás. Feladata az elosztott fürtben lévő régiók vagy adatok kiszolgálása és kezelése. 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.

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

HBase régiók:

A HRegions a HBase klaszter alapvető építőeleme, amely táblázatok eloszlásából áll és oszlopcsaládokból áll. Több üzletet tartalmaz, egyet minden oszlopcsaládhoz. Főleg két összetevőből áll, amelyek a Memstore és a Hfile.

Állatgondozó:

A HBase Zookeeper egy központosított megfigyelő szerver, amely karbantartja a konfigurációs információkat és elosztott szinkronizálást biztosít. Az elosztott szinkronizálás a fürtön futó elosztott alkalmazásokhoz való hozzáférés a csomópontok közötti koordinációs szolgáltatások biztosításának felelősségével. Ha az ügyfél kommunikálni akar a régiókkal, akkor a kiszolgáló kliensének először a ZooKeeperhez kell fordulnia.

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

A ZooKeeper által nyújtott szolgáltatások

  • Konfigurációs információkat tárol
  • Elosztott szinkronizálást biztosít
  • Ügyfélkommunikáció létrehozása régió szerverekkel
  • Rövid csomópontokat biztosít, amelyek különböző régiókiszolgálókat képviselnek
  • A multifunkcionális szerverek használhatósága az ideiglenes csomópontok számára a rendelkezésre álló kiszolgálók felfedezéséhez a fürtben
  • A szerverhibák és a hálózati partíciók nyomon követése

A Master és a HBase slave csomópontok (régiós szerverek) regisztrálták magukat a ZooKeeper-nél. Az ügyfélnek hozzáférést kell kapnia a ZK (zookeeper) kvórumkonfigurációjához, hogy kapcsolatba léphessen a fő és a regionális kiszolgálókkal.

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

HDFS:

A HDFS egy Hadoop elosztott fájlrendszer, amint a neve is mutatja, hogy elosztott környezetet biztosít a tároláshoz, és ez egy fájlrendszer, amelyet úgy alakítottak ki, hogy árucikk hardveren fusson. Minden fájlt több blokkban tárol, és a hibatűrés fenntartása érdekében a blokkokat egy Hadoop-fürt replikálja.

A HDFS magas fokú hibatűrést biztosít és olcsó árucikkes hardvereken fut. Ha csomópontokat ad hozzá a fürthöz, és feldolgozást és tárolást hajt végre az olcsó árucikk-hardver használatával, az jobb eredményt ad az ügyfélnek a meglévőhöz képest.

Itt az egyes blokkokban tárolt adatok 3 csomópontra replikálódnak bármelyikbe abban az esetben, ha bármelyik csomópont lemegy, akkor nem lesz adatvesztés, megfelelő biztonsági mentési mechanizmussal rendelkezik.

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

A HBase magyarázata az adatok olvasására és írására

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

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

2. lépés: Azok a régiók, amelyek kapcsolatba lépnek a memstore-val az oszlopcsaládhoz társított tárolás céljából

3. lépés: Először tárolja az adatokat a Memstore-ban, ahol az adatok rendezésre kerülnek, majd ezek után a HFile fájlba kerülnek. A Memstore használatának fő oka az, hogy az adatokat elosztott fájlrendszerben tárolja a Row Key alapján. A Memstore a Region szerver fő memóriájába kerül, míg a HFile fájlok HDFS-be vannak írva.

4. lépés: Az ügyfél a régiók adatait akarja olvasni

5. lépés: Az ügyfél viszont közvetlenül hozzáférhet a Mem áruházhoz, és adatokat kérhet.

6. lépés: Az ügyfél megkeresi a HFile-eket az adatok megszerzéséhez. Az adatokat az Ügyfél beolvassa és beolvassa.

A Memstore tárolja a memóriában az üzletet. Az objektumok hierarchiája a HBase régiókban fentről lefelé látható az alábbi táblázatban.

asztal A HBase-táblázat jelen van a HBase-fürtben
Vidék HRegionek a bemutatott táblázatokhoz
Bolt Az oszlopcsaládonként tárolja az asztal minden régióját
Memstore
  • Memstore az egyes boltokhoz az egyes régiókhoz az asztalhoz
  • Rendezi az adatokat, mielőtt a HFile fájlokba kerülne
  • Az írási és olvasási teljesítmény növekedni fog a rendezés miatt
StoreFile StoreFiles az egyes boltokhoz az egyes régiókhoz az asztalhoz
Blokk Letiltja a StoreFiles belsejét

HBase használati esetek

Az alábbiakban bemutatunk példákat a HBase felhasználási eseteire, részletesen ismertetve a megoldást, amelyet a különböző műszaki problémákra nyújt

Probléma nyilatkozat Megoldás
A távközlési ipar a következő technikai kihívásokkal néz szembe
  • A telekommunikációs tartomány által generált CDR (Call Detail Record) naplórekordok milliárdjai tárolása
  • Valós idejű hozzáférés biztosítása a CDR naplókhoz és az ügyfelek számlázási információihoz
  • Költséghatékony megoldás biztosítása a hagyományos adatbázis-rendszerekhez képest
A HBase több milliárd sor részletes hívásrekord tárolására szolgál. Ha havi 20 TB adatot adunk a meglévő RDBMS adatbázishoz, a teljesítmény romlik. Nagy mennyiségű adat kezeléséhez ebben a felhasználási esetben a HBase a legjobb megoldás. A HBase gyors lekérdezést végez és rekordokat jelenít meg.
A bankszektor naponta több millió rekordot generál. Emellett a bankszektornak olyan analitikai megoldásra is szüksége van, amely felismeri a csalásokat a pénzügyletekben Hatalmas mennyiségű adat tárolására, feldolgozására és frissítésére, valamint az elemzések elvégzésére ideális megoldás - a HBase integrálva számos Hadoop ökoszisztéma-elemmel.

Ettől eltekintve a HBase használható

  • Amikor nehéz alkalmazások írására van szükség.
  • Online naplóelemzés elvégzése és megfelelőségi jelentések készítése.

HBase vs. HDFS

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

HBASE

HDFS

  • Alacsony késleltetésű műveletek
  • Nagy késleltetésű műveletek
  • Random olvas és ír
  • Egyszer írjon Olvassa el sokszor
  • Héjparancsokkal, Java-ban futó kliens API-val érhető el, REST, Avro vagy Thrift
  • Elsősorban MR (Map Reduce) feladatokon keresztül érhető el
  • Tárolás és feldolgozás egyaránt elvégezhető
  • Csak tárolóhelyekre szolgál

Néhány tipikus informatikai ipari alkalmazás a HBase műveleteket használja a Hadoop mellett. Az alkalmazások tőzsdei adatokat, online banki adatműveleteket tartalmaznak, és a Hbase feldolgozása a legalkalmasabb megoldás.

Összegzés

A Hbase az egyik NoSql oszloporientált elosztott adatbázis, amely elérhető az apache alapítványban. A HBase nagyobb teljesítményt nyújt kevesebb rekord beolvasásához, mint Hadoop vagy Hive. Nagyon egyszerű keresni az adott bemeneti értéket, mert támogatja az indexelést, a tranzakciókat és a frissítést.

Online valós idejű elemzéseket végezhetünk a Hadoop ökoszisztémával integrált Hbase segítségével. Automatikus és konfigurálható aprítással rendelkezik az adatkészletek vagy táblák számára, és pihentető API-kat biztosít a MapReduce feladatok végrehajtásához.