„HBase“ architektūra, komponentai, duomenų modelis ir naudojimo atvejai

Turinys:

Anonim

Sandėliavimo mechanizmas HBase

„HBase“ yra į stulpelius orientuota duomenų bazė, o duomenys saugomi lentelėse. Lentelės rūšiuojamos pagal „RowId“. Kaip parodyta žemiau, „HBase“ turi „RowId“, kuris yra kelių lentelėje esančių stulpelių šeimų rinkinys.

Schemoje esančios stulpelių šeimos yra raktų ir verčių poros. Jei detaliai stebėsime kiekvieną stulpelių šeimą, turinčią kelis stulpelių skaičius. Stulpelio vertės, saugomos disko atmintyje. Kiekvienas lentelės langelis turi savo metaduomenis, pvz., Laiko žymą ir kitą informaciją.

Sandėliavimo mechanizmas HBase

Toliau pateikiami pagrindiniai lentelės schemą apibūdinantys terminai

  • Lentelė : esamų eilučių rinkinys.
  • Eilutė : stulpelių šeimų kolekcija.
  • Stulpelių šeima : stulpelių kolekcija.
  • Stulpelis : raktų ir verčių porų rinkimas.
  • Vardų sritis : loginis lentelių grupavimas.
  • Langelis : {eilutės, stulpelio, versijos} paketas tiksliai nurodo langelio apibrėžimą HBase.

Šioje pamokoje sužinosite,

  • Sandėliavimo mechanizmas HBase
  • „HBase“ duomenų modelis
  • „HBase“ architektūra ir jos svarbūs komponentai
  • „HBase“ paaiškinta, kaip skaityti ir rašyti duomenis
  • „HBase“ naudojimo atvejai
  • HBASE ir HDFS

Į stulpelius orientuoti ir į eilę orientuoti saugyklos

Kolonos ir eilės saugyklos skiriasi savo saugojimo mechanizmu. Kaip mes visi žinome, tradiciniai reliaciniai modeliai saugo duomenis eilutėmis pagrįsto formato, kaip ir duomenų eilutės, atžvilgiu. Į stulpelius orientuotos saugyklos saugo duomenų lenteles pagal stulpelius ir stulpelių šeimas.

Šioje lentelėje pateikiami keli pagrindiniai šių dviejų saugyklų skirtumai

Į stulpelius orientuota duomenų bazė Orientuota į eilę duomenų bazė
  • Kalbant apie procesą ir analizę, mes naudojame šį metodą. Tokie kaip internetinis analitinis apdorojimas ir jo programos.
  • Internetinis operacijų procesas, pvz., Bankininkystės ir finansų domenai, naudoja šį metodą.
  • Duomenų, kuriuos galima išsaugoti šiame modelyje, kiekis yra labai didelis, pavyzdžiui, kalbant apie petabaitus
  • Jis skirtas nedaugeliui eilučių ir stulpelių.

„HBase“ duomenų modelis

„HBase“ duomenų modelis yra komponentų rinkinys, kurį sudaro lentelės, eilutės, stulpelių šeimos, langeliai, stulpeliai ir versijos. „HBase“ lentelėse yra stulpelių šeimos ir eilutės su elementais, apibrėžtais kaip pirminiai raktai. HBase duomenų modelio lentelės stulpelis nurodo objektų atributus.

„HBase“ duomenų modelį sudaro šie elementai:

  • Stalų rinkinys
  • Kiekviena lentelė su stulpelių šeimomis ir eilėmis
  • Kiekvienoje lentelėje turi būti elementas, apibrėžtas kaip pagrindinis raktas.
  • Eilutės raktas veikia kaip pagrindinis raktas HBase.
  • Bet kuri prieiga prie „HBase“ lentelių naudoja šį pirminį raktą
  • Kiekvienas HBase stulpelis žymi objektą atitinkantį atributą

„HBase“ architektūra ir jos svarbūs komponentai

Žemiau yra išsamus HBase architrecutre su komponentais:

HBase architektūros schema

„HBase“ architektūrą daugiausia sudaro keturi komponentai

  • HMaster
  • HRegionserver
  • HRegionai
  • Zoologijos sodo prižiūrėtojas
  • HDFS

HMaster:

HMaster HBase yra pagrindinio serverio įgyvendinimas HBase architektūroje. Jis veikia kaip stebėjimo agentas, kuris stebi visas regiono serverio egzempliorius, esančius klasteryje, ir veikia kaip visų metaduomenų pakeitimų sąsaja. Paskirstytoje sankaupų aplinkoje „Master“ veikia „NameNode“. Meistras paleidžia keletą fono gijų.

Toliau pateikiami svarbūs vaidmenys, kuriuos HMaster atlieka „HBase“.

  • Vaidina gyvybiškai svarbų vaidmenį vykdant klasterio mazgus.
  • „HMaster“ teikia administratoriaus našumą ir platina paslaugas skirtingiems regiono serveriams.
  • HMaster priskiria regionus regionų serveriams.
  • „HMaster“ turi tokių funkcijų kaip apkrovos balansavimo ir perjungimo valdymas, kad būtų galima valdyti klasterio mazgų apkrovą.
  • Kai klientas nori pakeisti bet kurią schemą ir metaduomenų operacijas, HMaster prisiima atsakomybę už šias operacijas.

Kai kurie iš „HMaster Interface“ veikiamų metodų pirmiausia yra orientuoti į metaduomenis.

  • Lentelė („createTable“, „removeTable“, įgalinti, išjungti)
  • „ColumnFamily“ (pridėkite stulpelį, pakeiskite stulpelį)
  • Regionas (perkelti, priskirti)

Klientas abiem kryptimis bendrauja tiek su „HMaster“, tiek su „ZooKeeper“. Skaitymo ir rašymo operacijoms jis tiesiogiai susisiekia su „HRegion“ serveriais. „HMaster“ priskiria regionus regionų serveriams ir savo ruožtu patikrina regionų serverių būklę.

Visoje architektūroje turime kelis regiono serverius. „Hlog“ yra regiono serveriuose, kuriuose bus saugomi visi žurnalo failai.

„HBase“ regionų serveriai:

Kai HBase regiono serveris gauna rašymo ir skaitymo užklausas iš kliento, jis priskiria užklausą konkrečiam regionui, kuriame yra tikroji stulpelių šeima. Tačiau klientas gali tiesiogiai susisiekti su „HRegion“ serveriais, nereikia „HMaster“ privalomo leidimo klientui dėl bendravimo su „HRegion“ serveriais. Klientui reikalinga „HMaster“ pagalba, kai reikalingos su metaduomenimis ir schemomis susijusios operacijos.

„HRegionServer“ yra regiono serverio diegimas. Ji yra atsakinga už paskirstytų grupių regionų ar duomenų aptarnavimą ir valdymą. Regiono serveriai veikia naudojant duomenų mazgus, esančius „Hadoop“ klasteryje.

„HMaster“ gali susisiekti su keliais „HRegion“ serveriais ir atlieka šias funkcijas.

  • Regionų priėmimas ir valdymas
  • Regionų padalijimas automatiškai
  • Tvarkyti skaitymo ir rašymo užklausas
  • Tiesiogiai bendraujant su klientu

„HBase“ regionai:

„HRegions“ yra pagrindiniai „HBase“ klasterio, sudaryto iš lentelių paskirstymo ir sudarytų iš stulpelių šeimų, elementai. Jame yra kelios parduotuvės, po vieną kiekvienai stulpelių šeimai. Jį sudaro daugiausia du komponentai, tai yra „Memstore“ ir „Hfile“.

Zoologijos sodo prižiūrėtojas:

„HBase Zookeeper“ yra centralizuotas stebėjimo serveris, palaikantis konfigūracijos informaciją ir paskirstytą sinchronizavimą. Paskirstytasis sinchronizavimas yra prieiga prie paskirstytų programų, veikiančių visame klasteryje, atsakinga už koordinavimo paslaugų tarp mazgų teikimą. Jei klientas nori bendrauti su regionais, serverio klientas pirmiausia turi kreiptis į „ZooKeeper“.

Tai yra atvirojo kodo projektas ir teikia tiek daug svarbių paslaugų.

„ZooKeeper“ teikiamos paslaugos

  • Palaiko konfigūracijos informaciją
  • Teikia paskirstytą sinchronizavimą
  • Kliento bendravimo su regiono serveriais sukūrimas
  • Pateikia trumpalaikius mazgus, kurie atstovauja skirtingiems regiono serveriams
  • Pagrindinis serverių trumpalaikių mazgų naudojimas norint rasti grupėje esančius serverius
  • Norėdami stebėti serverio gedimus ir tinklo skaidinius

„Master“ ir „HBase“ vergų mazgai (regiono serveriai) užsiregistravo „ZooKeeper“. Klientui reikalinga prieiga prie ZK (zookeeper) kvorumo konfigūracijos, kad jis galėtų prisijungti prie pagrindinio ir regiono serverių.

Sugedus mazgams, esantiems HBase klasteryje, „ZKquoram“ suaktyvins klaidos pranešimus ir pradės taisyti sugedusius mazgus.

HDFS:

HDFS yra „Hadoop“ paskirstyta failų sistema, nes, kaip rodo pavadinimas, ji suteikia paskirstytą aplinką saugojimui ir tai yra failų sistema, sukurta taip, kad veiktų su prekės aparatine įranga. Kiekvieną failą jis saugo keliuose blokuose ir, norint išlaikyti toleranciją triktims, blokai atkartojami visoje „Hadoop“ grupėje.

HDFS užtikrina aukštą atsparumą gedimams ir veikia su pigia prekių įranga. Pridedant mazgus prie klasterio ir atliekant apdorojimą bei saugojimą naudojant pigios prekės aparatinę įrangą, klientui bus suteikiami geresni rezultatai, palyginti su esamu.

Čia duomenys, saugomi kiekviename bloke, kartojasi į 3 mazgus, jei bet kuris mazgas nusileis, nebus prarasti duomenys, jis turės tinkamą atsarginės atkūrimo mechanizmą.

HDFS susisiekia su HBase komponentais ir paskirstytu būdu saugo didelį duomenų kiekį.

„HBase“ paaiškinta, kaip skaityti ir rašyti duomenis

Skaitymo ir rašymo operacijos iš kliento į „Hfile“ gali būti parodytos žemiau esančioje diagramoje.

1 žingsnis. Klientas nori rašyti duomenis ir savo ruožtu pirmiausia bendrauja su „Regionų“ serveriu ir regionais

2 žingsnis) Regionai, susisiekdami su „Memstore“, saugo susietus su stulpelių šeima

3 žingsnis. Pirmieji duomenys saugomi „Memstore“, kur duomenys yra rūšiuojami, o po to jie patenka į „HFile“. Pagrindinė „Memstore“ naudojimo priežastis yra duomenų saugojimas paskirstytoje failų sistemoje, pagrįstoje „Row Key“. „Memstore“ bus įdėta į pagrindinę regiono serverio atmintį, o „HF“ failai bus įrašyti į HDFS.

4 žingsnis. Klientas nori skaityti duomenis iš regionų

5 žingsnis) Savo ruožtu klientas gali turėti tiesioginę prieigą prie „Mem“ parduotuvės ir prašyti duomenų.

6 žingsnis. Klientas kreipiasi į „HFiles“ norėdamas gauti duomenis. Duomenis pateikia ir gauna Klientas.

„Memstore“ saugo atminties modifikacijas parduotuvėje. „HBase“ regionų objektų hierarchija parodyta žemiau esančioje lentelėje nuo viršaus iki apačios.

Lentelė HBase lentelė yra HBase klasteryje
Regionas HRegionai pateiktoms lentelėms
Parduotuvė Kiekviename stalo regione jis saugomas „ColumnFamily“
Memstore
  • „Memstore“ kiekvienai parduotuvei kiekvienam regionui už stalą
  • Prieš surenkant duomenis į HFiles, jie rūšiuoja duomenis
  • Rašymo ir skaitymo našumas padidės dėl rūšiavimo
„StoreFile“ „StoreFiles“ kiekvienai parduotuvei kiekvienam stalo regionui
Blokuoti Blokai yra „StoreFiles“ viduje

„HBase“ naudojimo atvejai

Toliau pateikiami HBase naudojimo atvejų pavyzdžiai su išsamiu paaiškinimu, kurį jis pateikia įvairioms techninėms problemoms spręsti

Problemos pareiškimas Sprendimas
Telekomunikacijų pramonė susiduria su šiomis techninėmis problemomis
  • Saugoma milijardus telekomunikacijų domeno sugeneruotų CDR (Call detail recording) žurnalo įrašų
  • Teikti realiu laiku prieigą prie CDR žurnalų ir klientų atsiskaitymo informaciją
  • Pateikite ekonomiškai efektyvų sprendimą, palyginti su tradicinėmis duomenų bazių sistemomis
„HBase“ naudojama saugoti milijardus išsamių skambučių įrašų eilučių. Jei per mėnesį į esamą RDBMS duomenų bazę bus įtraukta 20 TB duomenų, našumas pablogės. Norėdami tvarkyti didelį duomenų kiekį šiuo naudojimo atveju, „HBase“ yra geriausias sprendimas. „HBase“ atlieka greitą užklausą ir rodo įrašus.
Bankininkystė pramonė generuoja milijonus įrašų kasdien. Be to, bankų pramonei taip pat reikia analizės sprendimo, kuris galėtų aptikti sukčiavimą pinigų operacijose Dideliam duomenų kiekiui kaupti, apdoroti ir atnaujinti bei analizei atlikti idealus sprendimas yra - HBase integruota su keliais Hadoop ekosistemos komponentais.

Be to, galima naudoti HBase

  • Kai reikia rašyti sunkias programas.
  • Internetinių žurnalų analizės atlikimas ir atitikties ataskaitų generavimas.

„HBase“ ir „HDFS“

„HBase“ veikia ant HDFS ir „Hadoop“. Kai kurie pagrindiniai HDFS ir HBase skirtumai yra susiję su duomenų operacijomis ir apdorojimu.

HBASE

HDFS

  • Mažos vėlavimo operacijos
  • Didelės vėlavimo operacijos
  • Atsitiktinis skaito ir rašo
  • Rašykite vieną kartą Skaitykite daug kartų
  • Prieinama per „shell“ komandas, kliento API „Java“, REST, „Avro“ arba „Thrift“
  • Pirmiausia pasiekiama per MR (Map Reduce) darbus
  • Galima atlikti ir saugojimą, ir apdorojimą
  • Tai skirta tik saugojimo vietoms

Kai kuriose tipinėse IT pramoninėse programose HBase operacijos naudojamos kartu su Hadoop. Programos apima vertybinių popierių biržos duomenis, internetinės bankininkystės duomenų operacijas, o „Hbase“ apdorojimas yra tinkamiausias sprendimo būdas.

Santrauka

„Hbase“ yra viena iš „NoSql“ skirtų stulpelių orientuotos paskirstytos duomenų bazės, prieinama „Apache Foundation“. „HBase“ suteikia daugiau rezultatų norint gauti mažiau įrašų, o ne „Hadoop“ ar „Hive“. Labai lengva ieškoti nurodytos įvesties vertės, nes ji palaiko indeksavimą, operacijas ir atnaujinimą.

Mes galime atlikti internetinę realaus laiko analizę naudodami „Hbase“, integruotą su „Hadoop“ ekosistema. Jis turi automatinį ir konfigūruojamą duomenų rinkinių ar lentelių dalijimą ir suteikia ramias API, kad būtų galima atlikti „MapReduce“ užduotis.