„Apache HBase“ yra atvirojo kodo, paskirstyta, nesusijusi duomenų bazė, sukurta pagal „Google Bigtable“ ir parašyta „Java“. Tai suteikia panašių galimybių kaip „Bigtable“ ant „Hadoop“ ir „HDFS“ („Hadoop Distributed Filesystem“), t. Y. Suteikia atsparumą gedimams saugant didelį kiekį negausių duomenų, kurie yra įprasti daugeliu didelių duomenų naudojimo atvejų. „HBase“ naudojama norint realiuoju laiku skaityti / rašyti prieigą prie „Big Data“.
„HBase Storage“ architektūrą sudaro daugybė komponentų. Pažvelkime į šių komponentų funkcijas ir žinokime, kaip rašomi duomenys.
HFailai:
HFiles sudaro žemą HBase architektūros lygį. „HFiles“ yra saugojimo failai, sukurti norint greitai ir efektyviai saugoti „HBase“ duomenis.
HMaster:
„HMaster“ yra atsakingas už kiekvieno „HRegionServer“ regiono priskyrimą, kai paleidžiama „HBase“. Ji yra atsakinga už visko, susijusio su eilėmis, lentelėmis ir jų koordinavimo veikla, valdymą. „Hmaster“ taip pat turi metaduomenų detalių.
Komponentai „HBase“:
„HBase“ turi šiuos komponentus:
- Lentelė - apima regionus
- Regionas - kartu saugomų eilučių diapazonas
- Regionų serveriai - aptarnauja vieną ar daugiau regionų
- Pagrindinis serveris - „Daemon“ yra atsakingas už „HBase“ grupės valdymą
„HBase“ saugo duomenis tiesiai į HDFS ir labai priklauso nuo HDFS didelio prieinamumo ir gedimų tolerancijos.
„HBase“ saugyklos architektūra:
Bendras srautas yra tas, kad klientas pirmiausia susisiekia su „Zookeeper“, norėdamas rasti tam tikrą eilutės raktą. Tai daro iš „Zookeeper“ atsiimdamas serverio pavadinimą. Turėdamas šią informaciją dabar jis gali pateikti užklausą tam serveriui, kad gautų serverį, kuriame yra metatabulas. Abi šios detalės yra talpykloje ir peržiūrėtos tik kartą. Galiausiai jis gali pateikti užklausą metaserveriui ir nuskaityti serverį, kuriame yra eilutė, kurios klientas ieško.
Kai žino, kuriame regione gyvena eilutė, ji talpina šią informaciją ir talpina tiesiogiai su „HRegionServer“. Taigi laikui bėgant Klientas turi išsamią informaciją, iš kur gauti eilučių, nebereikėdamas dar kartą pateikti užklausos metaserveriui. Atidarius „HRegion“, kiekvienai „HColumnFamily“ kiekvienai lentelei nustatomas „Store“ egzempliorius. Duomenys rašomi, kai klientas pateikia užklausą „HRegionServer“, kuri pateikia išsamią informaciją atitinkančiam „HRegion“ egzemplioriui. Pirmasis žingsnis yra tas, kad mes turime nuspręsti, ar duomenys pirmiausia turėtų būti įrašomi į „Write-Ahead-Log“ (WAL), kurį atstovauja HLog klasė. Sprendimas priimamas pagal kliento nustatytą vėliavą.
Kai duomenys įrašomi į WAL, jie dedami į „MemStore“. Tuo pačiu metu „Memstore“ patikrinama, ar jis yra pilnas, ir tokiu atveju prašoma perkelti į diską. Tada duomenys įrašomi į HFile.
Turite mums klausimą? Paminėkite juos komentarų skiltyje ir mes susisieksime su jumis.
Susijusios žinutės
apvalus dvigubas iki int java
Įžvalgos apie HBase architektūrą