HBase

HBase
Típusú ingyenes és nyílt forráskódú szoftverek és adatbázis-kezelő rendszer
Fejlesztő Apache Software Foundation
Beírva Java [3] [2]
Operációs rendszer platformközi
Első kiadás 2006 [1] és 2012. április 14. [2]
Hardver platform Java virtuális gép
legújabb verzió
felszabadító jelölt
Engedély Apache License 2.0 [4]
Weboldal hbase.apache.org

A HBase  egy nyílt forráskódú NoSQL DBMS , a Hadoop ökoszisztéma projektje . Java nyelven írva ; az "oszlopcsalád" kategóriába tartozik , sok műszaki megoldást a Google BigTable vette át . A HDFS elosztott fájlrendszeren fut, és BigTable-szerű képességeket biztosít a Hadoop számára, vagyis hibatűrő módot biztosít nagy mennyiségű, ritka adat tárolására.

A tömörítési támogatás, a memórián belüli műveletek és az egyes mögöttes oszlopok Bloom-szűrője a BigTable [5] dokumentációjának megfelelően valósul meg . A HBase táblái bemenetként és kimenetként szolgálhatnak a Hadoop projekt MapReduce implementációjának működéséhez , és nem csak a Java API-n, hanem az API-n ( REST , Avro , Thrift ) keresztül is beszerezhetők. A Phoenix és a Trafodion projektek SQL hozzáférést biztosítanak a HBase által vezérelt adatokhoz.

Számos nagy projekt adatkezelésére használják [6] [7] , különösen a Facebook HBase-t használt az üzenetküldő platformhoz [8] 2010-2018 között (2018-ban a platform átkerült a MyRockshoz [9] ), a hűséges felhasználók közé tartozik még az Adobe , a StumbleUpon , a Twitter , a Yahoo! (egy 3000 csomópontból álló HBase klasztert működtet [10] ).

Történelem

A HBase projektet 2006-ban Chad Walters és Jim Kellerman, a Powersettől indították el, amelynek nagy mennyiségű adatot kellett feldolgoznia egy természetes nyelvű keresőmotor létrehozásához. A prototípus a Google 2005-ben megjelent cikkén alapult a Bigtable rendszerről [11] . 2007 februárjában Mike Cafarella írt egy csonkkódot a rendszerhez, amelyet Jim Kellerman fejlesztett tovább. A projekt hamarosan felkeltette a fejlesztők nagy érdeklődését, és az Apache alapítványban is kiemelt prioritást kapott [12] .

A HBase első verzióját a Hadoop 0.15.0-val szállították 2007 októberében. 2010 májusában a rendszer átkerült a Hadoop alprojekt kategóriából az Apache Foundation legfelső szintű projektkategóriájába . 2012 óta évente megrendezik a HBaseCon rendszer fejlesztői és felhasználói konferenciáját.

2015-ben megjelent a rendszer 1.0-s verziója, amelyet az alap és a független megfigyelők is „mérföldkőként” jegyeztek meg, jelezve a termék lejáratát [10] ; A 2010-es évek második felétől a rendszer iránti érdeklődés a hozzá való SQL interfészek (Phoenix, Trafodion) megjelenése miatt is megnőtt.

Adatmodellek

Az alkalmazások sorokból és oszlopokból álló táblázatokban tárolják az adatokat. A táblázatcellák (sorok és oszlopok keresztezései) verziófüggő. Az alapértelmezett verzió a HBase által a beillesztéskor automatikusan hozzárendelt időbélyeg. A cella tartalma egy értelmezetlen bájttömb .

A táblasorkulcsok egyben bájttömbök is, így elméletileg a sorkulcs bármi lehet, a karakterláncoktól a longok bináris megjelenítéséig, sőt a soros adatstruktúrákig. A táblázat sorai a sorkulcs (a tábla elsődleges kulcsa) szerint vannak rendezve. A rendezés bájt sorrendben történik. Minden tábla-hozzáférés az elsődleges kulcson alapul. Az oszlopok oszlopcsaládokba vannak csoportosítva. Az oszlopcsalád minden tagja közös előtaggal rendelkezik, így például az oszlopok temperature:airés temperature:dew_pointa családhoz tartoznak, és a temperaturecsaládhoz station:identifiertartoznak station. Az oszlopcsalád előtagjának nyomtatható karakterekből kell állnia. Az utolsó rész (minősítő) tetszőleges bájtokból állhat.

A táblázatoszlop-családokat előre meg kell adni a táblaséma-definíció részeként, de szükség esetén új családtagok is hozzáadhatók. Például egy új oszlopot station:addressát lehet adni az ügyfélnek a frissítés részeként, és az értéke sikeresen elmentésre kerül - feltételezve, hogy az oszlopcsalád stationmár létezik a táblában. Fizikailag az oszlopcsaládok összes tagja együtt van tárolva a fájlrendszerben . Mivel a beállítások és specifikációk az oszlopcsalád szintjén vannak megadva, kívánatos, hogy minden családtag hasonló hozzáférési mintákkal és méretezési jellemzőkkel rendelkezzen.

Régiók

A HBase automatikusan felosztja a táblákat vízszintesen úgynevezett régiókra . Minden régió táblázatsorok egy részhalmazát alkotja. A régiót az a tábla határozza meg, amelyhez tartozik, az első sora (beleértve) és az utolsó sor (nem tartalmazza). A táblázat kezdetben egyetlen régióból áll, de amint a régió túllép egy konfigurálható méretküszöbön, két új, megközelítőleg azonos méretű régióra oszlik. Az első partícióig minden adatbetöltés ugyanazon a kiszolgálón történik, amelyen a forrásrégió található. Ahogy a táblázat növekszik, úgy nő a régióinak száma. A régiók egy HBase-fürtben lefoglalt egységek. Ha egy tábla túl nagy egyetlen kiszolgálóhoz, akkor azt egy szerverfürt is kiszolgálhatja, ahol minden csomópont a tábla régióinak egy részhalmazát tárolja. Ezenkívül a régiók terheléselosztást biztosítanak az asztalon. A hálózaton keresztül elérhető rendezett régiók halmaza alkotja a táblázat teljes tartalmát.

Jegyzetek

  1. http://hbase.apache.org/book/hbase.history.html
  2. 1 2 https://projects.apache.org/json/projects/hbase.json
  3. A hbase nyílt forráskódú projekt az Open Hubon: Nyelvek oldala - 2006.
  4. http://hbase.apache.org/license.html
  5. Chang és mtsai. (2006). Bigtable: Elosztott tárolórendszer a strukturált adatokhoz
  6. Powered by HBase (lefelé irányuló kapcsolat) . Hozzáférés dátuma: 2012. január 12. Az eredetiből archiválva : 2013. március 27. 
  7. StumbleUpon HBase bemutató . Hozzáférés időpontja: 2012. január 12. Az eredetiből archiválva : 2013. október 21..
  8. Az üzenetek mögöttes technológiája . Hozzáférés dátuma: 2012. január 12. Az eredetiből archiválva : 2014. december 6.
  9. Xiang Li, Thomas Georgiou. A Messenger tárhely áttelepítése a teljesítmény optimalizálása érdekében . Facebook (2018. június 26.). Letöltve: 2019. január 3. Az eredetiből archiválva : 2018. november 11.
  10. 12 Gavin Clarke. Az Apache végre lejelentkezett a Hadoop adatbázisról… 7 év fejlesztés után . A HBase 1.0 „együttműködési szépség” . A nyilvántartás (2015. február 24.) . Letöltve: 2019. január 3. Az eredetiből archiválva : 2019. január 4..
  11. Archivált másolat . Letöltve: 2010. január 18. Az eredetiből archiválva : 2010. január 3..
  12. Powerset Blog archiválva : 2013. február 19.

Linkek