Přehled architektury úložiště HBase



Architektura HBase Storage obsahuje mnoho komponent. Podívejme se na funkce těchto komponent a víme, jak se data zapisují.

Apache HBase je open-source, distribuovaná, nerelační databáze po vzoru Bigtable společnosti Google a napsaná v Javě. Poskytuje funkce podobné Bigtable nad Hadoop a HDFS (Hadoop Distributed Filesystem), tzn. Poskytuje způsob odolný vůči chybám ukládání velkého množství řídkých dat, která jsou běžná v mnoha případech použití velkých dat. HBase se používá pro přístup k velkým datům pro čtení / zápis v reálném čase.





Architektura úložiště HBase zahrnuje řadu komponent. Pojďme se podívat na funkce těchto komponent a vědět, jak se data zapisují.

HFiles:



HFiles tvoří nízkou úroveň architektury HBase. HFiles jsou soubory úložiště vytvořené k rychlému a efektivnímu ukládání dat HBase.

HMaster:

saltstack vs loutka vs kuchař

HMaster je zodpovědný za přiřazení oblastí ke každému HRegionServer při spuštění HBase. Je odpovědný za správu všeho, co souvisí s řádky, tabulkami a jejich koordinačními aktivitami. Hmaster má také podrobnosti o metadatech.



Součásti HBase:

HBase má následující komponenty:

  • Tabulka - Zahrnuje regiony
  • Region - Rozsah řádků uložených společně
  • Region Servers - Obsluhuje jeden nebo více regionů
  • Master Server - Daemon je zodpovědný za správu klastru HBase

Zařízení HBase ukládá data přímo do HDFS a velmi se spoléhá na vysokou dostupnost a odolnost proti chybám HDFS.

Architektura úložiště HBase:

Architektura úložiště HBase

Obecný postup spočívá v tom, že klient nejprve kontaktuje Zookeeper, aby našel konkrétní klíč řádku. Činí tak načtením názvu serveru ze Zookeeperu. S touto informací nyní může dotazovat tento server, aby získal server, který obsahuje metatable. Obě tyto podrobnosti jsou uloženy v mezipaměti a vyhledány pouze jednou. Nakonec může dotazovat metaserver a načíst server, který má řádek, který klient hledá.

Jakmile zjistí, v jaké oblasti se řádek nachází, uloží také tyto informace do mezipaměti a kontaktuje přímo HRegionServer. Takže v průběhu času má klient úplné informace o tom, odkud má získat řádky, aniž by musel znovu dotazovat metaserver. Když je HRegion otevřen, nastaví instanci Store pro každou HColumnFamily pro každou tabulku. Data se zapisují, když klient vydá požadavek na HRegionServer, který poskytne podrobnosti odpovídající instanci HRegion. Prvním krokem je, že se musíme rozhodnout, zda mají být data nejprve zapsána do ‚Write-Ahead-Log‘ (WAL) představovaného třídou HLog. Rozhodnutí je založeno na příznaku nastaveném klientem.
Jakmile jsou data zapsána do WAL, jsou umístěna do MemStore. Zároveň se zkontroluje, zda je Memstore plný, a v takovém případě je vyžadován flush na disk. Poté jsou data zapsána do souboru HFile.

Máte na nás dotaz? Uveďte je v sekci komentáře a my se vám ozveme.

Související příspěvky

Pohledy na architekturu HBase