Преглед на архитектурата за съхранение на HBase



Там архитектурата за съхранение на HBase съдържа множество компоненти. Нека да разгледаме функциите на тези компоненти и да знаем как се записват данните.

масив от обекти в примерната програма на java

Apache HBase е база данни с отворен код, разпределена, нерелационна база данни, създадена по модел на Bigtable на Google и написана на Java. Той предоставя възможности, подобни на Bigtable върху Hadoop и HDFS (Hadoop Distributed Filesystem), т.е.предоставя непоносим начин за съхраняване на големи количества оскъдни данни, които са често срещани в много случаи на използване на големи данни. HBase се използва за достъп до четене / запис в реално време до големи данни.





Архитектурата на HBase Storage включва множество компоненти. Нека да разгледаме функциите на тези компоненти и да знаем как се записват данните.

HFiles:



HFiles формира ниското ниво на архитектурата на HBase. HFiles са файлове за съхранение, създадени за съхранение на данни на HBase бързо и ефективно.

HMaster:

HMaster е отговорен да присвои регионите на всеки HRegionServer при стартиране на HBase. Той отговаря за управлението на всичко, свързано с редове, таблици и техните координационни дейности. Hmaster разполага и с подробности за метаданните.



Компоненти на HBase:

HBase има следните компоненти:

  • Таблица - Състои се от региони
  • Регион - диапазон от редове, съхранявани заедно
  • Регионални сървъри - обслужва един или повече региони
  • Главен сървър - Daemon е отговорен за управлението на HBase клъстера

HBase съхранява данни директно в HDFS и разчита много на HDFS за висока наличност и толерантност към неизправности.

Архитектура на съхранение на HBase:

Архитектура за съхранение на HBase

Общият поток е, че клиент се свързва първо със Zookeeper, за да намери определен ключ от реда. Това става чрез извличане на името на сървъра от Zookeeper. С тази информация вече може да запитва този сървър, за да получи сървъра, който държи метатаблицата. И двете подробности се кешират и се търсят само веднъж. И накрая, той може да поиска метасервър и да извлече сървъра, който има реда, който клиентът търси.

След като разбере в кой регион се намира редът, той кешира и тази информация и се свързва директно с HRegionServer. Така че с течение на времето Клиентът разполага с пълна информация откъде да вземе редове, без да е необходимо да прави отново запитване към метасервъра. Когато се отвори HRegion, той създава екземпляр Store за всяка HColumnFamily за всяка таблица. Данните се записват, когато Клиентът издава заявка до HRegionServer, която предоставя подробности за съответстващия екземпляр HRegion. Първата стъпка е, че трябва да решим дали данните трябва първо да бъдат записани в ‘Write-Ahead-Log’ (WAL), представен от класа HLog. Решението се основава на флага, зададен от клиента.
След като данните бъдат записани в WAL, те се поставят в MemStore. В същото време Memstore се проверява дали е пълен и в този случай се иска изчистване на диск. След това данните се записват в HFile.

Имате въпрос към нас? Споменете ги в раздела за коментари и ние ще се свържем с вас.

Подобни публикации

Статистика за архитектурата на HBase