HBase Archiструктура: случаи на използване, компоненти и модел на данни
HBase Archiструктура и нейните важни компоненти
Архитектурата на HBase се състои главно от четири компонента
- HMaster
- HRegionserver
- HRрегиони
- Zookeeper
- HDFS
По-долу е представена подробна архитектура на HBase с компоненти:
HMaster
HMaster в HBase е внедряването на главен сървър в архитектурата на HBase. Той действа като агент за наблюдение за наблюдение на всички екземпляри на регионалния сървър, присъстващи в клъстера, и действа като интерфейс за всички промени в метаданните. В среда на разпределен клъстер Master работи на NameNode. Master изпълнява няколко фонови нишки.
Следните са важни роли, изпълнявани от HMaster в HBase.
- Играе жизненоважна роля по отношение на производителността и поддържането на възли в клъстера.
- HMaster осигурява административна производителност и разпространява услуги към различни регионални сървъри.
- HMaster присвоява региони на регионални сървъри.
- HMaster има функции като контролиране на балансирането на натоварването и прехвърлянето при срив, за да се справи с натоварването върху възли, присъстващи в клъстера.
- Когато клиент иска да промени която и да е схема и да промени операции с метаданни, HMaster поема отговорност за тези операции.
Някои от методите, изложени от HMaster Interface, са предимно методи, ориентирани към метаданни.
- Таблица (създаване на таблица, премахване на таблица, активиране, деактивиране)
- ColumnFamily (добавяне на колона, промяна на колона)
- Регион (преместване, присвояване)
Клиентът комуникира по двупосочен начин както с HMaster, така и с ZooKeeper. За операции за четене и запис той директно се свързва със сървърите на HRegion. HMaster присвоява региони на регионални сървъри и на свой ред проверява изправното състояние на регионалните сървъри.
В цялата архитектура имаме множество регионални сървъри. Hlog присъства в регионалните сървъри, които ще съхраняват всички регистрационни файлове.
Регионални сървъри на HBase
Когато HBase Region Server получава заявки за запис и четене от клиента, той присвоява заявката към конкретен регион, където се намира действителното семейство колони. Въпреки това, клиентът може директно да се свърже със сървърите на HRegion, няма нужда от задължително разрешение на HMaster за клиента по отношение на комуникацията със сървърите на HRegion. Клиентът изисква помощ от HMaster, когато са необходими операции, свързани с промени в метаданни и схема.
HRegionServer е внедряването на регионалния сървър. Той отговаря за обслужването и управлението на региони или данни, които присъстват в разпределен клъстер. Регионалните сървъри работят на възли за данни, присъстващи в клъстера Hadoop.
HMaster може да влезе в контакт с множество HRegion сървъри и изпълнява следните функции.
- Хостинг и управление на региони
- Автоматично разделяне на региони
- Обработка на заявки за четене и запис
- Директно общуване с клиента
HBase региони
HRegions са основните строителни елементи на клъстера HBase, който се състои от разпределение на таблици и се състои от семейства колони. Той съдържа множество магазини, по един за всяко семейство колони. Състои се основно от два компонента, които са Memstore и Hfile.
ZooKeeper
HBase Zookeeper е централизиран сървър за наблюдение, който поддържа информация за конфигурацията и осигурява разпределена синхронизация. Разпределената синхронизация е за достъп до разпределените приложения, работещи в клъстера, с отговорност за предоставяне на координационни услуги между възлите. Ако клиентът иска да комуникира с региони, клиентът на сървъра трябва първо да се обърне към ZooKeeper.
Това е проект с отворен код и предоставя толкова много важни услуги.
Услуги, предоставяни от ZooKeeper
- Поддържа информация за конфигурацията
- Осигурява разпределена синхронизация
- Установяване на клиентска комуникация с регионални сървъри
- Осигурява краткотрайни възли, за които представляват различни регионални сървъри
- Използваемост на главните сървъри на ефимерни възли за откриване на налични сървъри в клъстера
- За проследяване на отказ на сървър и мрежови дялове
Главните и HBase подчинените възли (регионални сървъри) се регистрираха в ZooKeeper. Клиентът се нуждае от достъп до ZK(zookeeper) конфигурация на кворума, за да се свърже с главния и регионалния сървър.
По време на повреда на възли, присъстващи в клъстера HBase, ZKquoram ще задейства съобщения за грешка и ще започне да поправя повредените възли.
HDFS
HDFS е разпределен Hadoop File System, както подсказва името, осигурява разпределена среда за съхранение и е файлова система, проектирана по начин, който да работи на стандартен хардуер. Той съхранява всеки файл в множество блокове и за поддържане на толерантност към грешки, блоковете се репликират в Hadoop клъстер.
HDFS осигурява висока степен на отказоустойчивост и работи на евтин стандартен хардуер. Чрез добавяне на възли към клъстера и извършване на обработка и съхранение чрез използване на евтин хардуер, това ще даде на клиента по-добри резултати в сравнение със съществуващия.
Тук данните, съхранени във всеки блок, се репликират в 3 възела, в случай че някой възел падне, няма да има загуба на данни, той ще има подходящ механизъм за възстановяване на резервно копие.
HDFS влиза в контакт с компонентите на HBase и съхранява голямо количество данни по разпределен начин.
HBase модел на данни
HBase модел на данни е набор от компоненти, който се състои от таблици, редове, семейства колони, клетки, колони и версии. Таблиците на HBase съдържат семейства колони и редове с елементи, дефинирани като първични ключове. Колона в таблицата на модела на данни на HBase представлява атрибути на обектите.
HBase Data Model се състои от следните елементи,
- Комплект маси
- Всяка таблица със семейства колони и редове
- Всяка таблица трябва да има елемент, дефиниран като първичен ключ.
- Ключът за ред действа като първичен ключ в HBase.
- Всеки достъп до HBase таблици използва този първичен ключ
- Всяка колона, присъстваща в HBase, обозначава атрибут, съответстващ на обект
Случаи на използване на HBase
Следват примери за случаи на използване на HBase с подробно обяснение на решението, което предоставя на различни технически проблеми
Декларация за проблема | Решение |
---|---|
Телекомуникационна индустрия се изправя пред следните технически предизвикателства
|
HBase се използва за съхраняване на милиарди редове с подробни записи на разговори. Ако 20TB данни се добавят на месец към съществуващата база данни RDBMS, производителността ще се влоши. За обработка на голямо количество данни в този случай на употреба, HBase е най-доброто решение. HBase извършва бързо запитване и показва записи. |
- Банкова индустрия генерира милиони записи на дневна база. В допълнение към това, банковата индустрия също се нуждае от аналитично решение, което може да открие измами в парични транзакции | За съхраняване, обработка и актуализиране на огромни обеми от данни и извършване на анализи, идеалното решение е – HBase, интегриран с няколко компонента на екосистемата Hadoop. |
Освен това може да се използва HBase
- Винаги, когато има нужда от писане на тежки приложения.
- Извършване на онлайн анализ на регистрационни файлове и генериране на отчети за съответствие.
Механизъм за съхранение в HBase
HBase е ориентирана към колони база данни и данните се съхраняват в таблици. Таблиците са сортирани по RowId. Както е показано по-долу, HBase има RowId, който е колекцията от няколко семейства колони, присъстващи в таблицата.
Семействата колони, които присъстват в схемата, са двойки ключ-стойност. Ако разгледаме подробно всяко семейство колони, имащо няколко броя колони. Стойностите на колоните, съхранени в паметта на диска. Всяка клетка от таблицата има свои собствени метаданни като клеймо за време и друга информация.
В HBase следните са ключовите термини, представляващи схема на таблица
- Маса: Налична колекция от редове.
- Ред: Колекция от семейства колони.
- Колона Семейство: Колекция от колони.
- Колона: Колекция от двойки ключ-стойност.
- Именно пространство: Логическо групиране на таблици.
- Клетка: {ред, колона, версия} кортеж точно определя дефиниция на клетка в HBase.
Ориентирани към колони срещу ориентирани към редове хранилища
Съхранищата, ориентирани към колони и редове, се различават по своя механизъм за съхранение. Както всички знаем, традиционните релационни модели съхраняват данни по отношение на формат, базиран на редове, като по отношение на редове от данни. Ориентираните към колони хранилища съхраняват таблици с данни по отношение на колони и семейства колони.
Следната таблица дава някои ключови разлики между тези две хранилища
База данни, ориентирана към колони | Редово ориентирана база данни |
---|---|
Когато ситуацията се отнася до процес и анализ, ние използваме този подход. Такива като Онлайн аналитична обработка и това са приложения. | Онлайн транзакционен процес като банкови и финансови домейни използват този подход. |
Количеството данни, което може да съхранява в този модел, е много голямо като петабайти | Предназначен е за малък брой редове и колони. |
Обяснени данни за четене и запис на HBase
Операциите за четене и запис от клиент в Hfile могат да бъдат показани на диаграмата по-долу.
Стъпка 1) Клиентът иска да запише данни и на свой ред първо комуникира със сървъра на регионите и след това с регионите
Стъпка 2) Региони, които се свързват с memstore за съхранение, свързано със семейството на колоните
Стъпка 3) Първо данните се съхраняват в Memstore, където данните се сортират и след това се изхвърлят в HFile. Основната причина за използването на Memstore е да се съхраняват данни в разпределена файлова система, базирана на ключ на ред. Memstore ще бъде поставен в основната памет на регионалния сървър, докато HFiles се записват в HDFS.
Стъпка 4) Клиентът иска да чете данни от региони
Стъпка 5) На свой ред Клиентът може да има директен достъп до Mem store и може да поиска данни.
Стъпка 6) Клиент се приближава до HFiles, за да получи данните. Данните се извличат и извличат от Клиента.
Memstore съхранява модификации в паметта на магазина. Йерархията на обектите в HBase Regions е както е показано отгоре надолу в таблицата по-долу.
Маса | Таблица HBase присъства в клъстера HBase |
област | HRegions за представените таблици |
Магазин | Той съхранява за ColumnFamily за всеки регион за таблицата |
Memstore |
|
StoreFile | StoreFiles за всеки магазин за всеки регион за таблицата |
Блок | Блокове, налични в StoreFiles |
HBase срещу HDFS
HBase работи върху HDFS и Hadoop. Някои ключови разлики между HDFS и HBase са по отношение на операциите с данни и обработката.
HBASE | HDFS |
---|---|
Операции с ниска латентност | Операции с висока латентност |
Произволно четене и запис | Напиши веднъж Прочети много пъти |
Достъп през команди на обвивката, клиентски API в Java, REST, Avro или Thrift | Основно достъпен чрез задания за MR (Map Reduce). |
Съхранение и процес могат да бъдат изпълнени | Това е само за складови помещения |
Някои типични индустриални ИТ приложения използват HBase операции заедно с Hadoop. Приложенията включват данни за фондовата борса, операции с данни за онлайн банкиране, а обработката на Hbase е най-подходящият метод за решение.
Oбобщение
- Компоненти на архитектурата на HBase: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
- HMaster в HBase е внедряването на главен сървър в архитектурата на HBase.
- Когато HBase Region Server получава заявки за запис и четене от клиента, той присвоява заявката към конкретен регион, където се намира действителното семейство колони
- HRegions са основните строителни елементи на клъстера HBase, който се състои от разпределение на таблици и се състои от семейства колони.
- HBase Zookeeper е централизиран сървър за наблюдение, който поддържа информация за конфигурацията и осигурява разпределена синхронизация.
- HDFS осигурява висока степен на отказоустойчивост и работи на евтин стандартен хардуер.
- HBase Data Model е набор от компоненти, който се състои от таблици, редове, семейства колони, клетки, колони и версии.
- Съхранищата, ориентирани към колони и редове, се различават по своя механизъм за съхранение.