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