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:
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 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.
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.
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 |
|
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.