Video: HDInsight: Fast Interactive Queries with Hive on LLAP | Azure Friday 2025
RegionServers jsou jedna věc, ale musíte se také podívat na to, jak jednotlivé regiony fungují. V tabulce HBase je tabulka rozdělena do několika oblastí RegionServers a je tvořena jednotlivými regiony. Jak jsou tabulky rozděleny, dělení se stávají regiony. Regióny ukládají řadu párů klíč-hodnota a každý RegionServer spravuje konfigurovatelný počet oblastí.
Jak vypadají jednotlivé regiony? HBase je úložiště dat sloupcům a rodinám, tak jak jednotlivé regiony ukládají páry klíč-hodnota na základě skupin sloupců, do kterých patří? Následující obrázek začíná odpovědět na tyto otázky a pomáhá vám trávit více důležitých informací o architektuře HBase.
HBase je napsána v jazyce Java - jako většina technologií Hadoop. Java je objektově orientovaný programovací jazyk a elegantní technologie pro distribuované výpočty. Takže, jak se budete dál seznamovat s HBase, nezapomeňte, že všechny komponenty v architektuře jsou v podstatě Java objekty.
Nejprve, předcházející obrázek dává docela dobrou představu o tom, jaké objekty regionu skutečně vypadají, obecně řečeno. Také je jasné, že regiony oddělují data do skupin sloupců a ukládají data v HDFS pomocí objektů HFile.
Když klienti vloží systém do klíčových hodnot, jsou klíče zpracovávány tak, aby data byla uložena na základě rodiny sloupců, do které tento pár patří. Jak je znázorněno na obrázku, každý objekt pro ukládání rodiny sloupců má čtecí mezipaměť nazvanou BlockCache a mezipaměť pro zápis nazvanou MemStore. BlockCache pomáhá při náhodném čtení.
Data se čte v blocích z HDFS a ukládají se do BlockCache. Následné čtení dat - nebo dat uložených v těsné blízkosti - budou přečteny z paměti RAM namísto disku, čímž se zlepší celkový výkon. Záznam zápisu vpřed (WAL, zkráceně) zajišťuje spolehlivost zápisu HBase. Na RegionServer existuje jeden WAL.
Vždy dodržujte Železný zákon distribuovaných počítačů: Selhání není výjimkou - je to norma, obzvláště při seskupování stovek nebo dokonce tisíců serverů. Společnost Google dodržovala zákon o železářství při navrhování BigTable a HBase následovala.
Při zápisu nebo úpravě dat v HBase jsou data nejprve přetrvávána do WAL, která je uložena v HDFS a data jsou zapsána do mezipaměti MemStore. V konfigurovatelných intervalech jsou dvojice klíč-hodnota uložená v MemStore zapsána do HFiles v HDFS a poté jsou vymazány záznamy WAL.
Pokud dojde k chybě po počáteční zápis WAL, ale před poslední zápis MemStore na disk, WAL lze přehrát, aby nedošlo ke ztrátě dat.
Tři objekty HFile jsou v jedné sloupcové rodině a dvě ve druhé. Koncepce HBase spočívá v vyprázdnění dat o sloupcových datech uložených v MemStore do jednoho souboru HFile na jednu flush. V konfigurovatelných intervalech jsou HFiles kombinovány do větších HF. Tato strategie ohrožuje kritickou operaci zhutnění v HBase.