HBase архитектура, компоненти, модел на данни и случаи на употреба

Съдържание:

Anonim

Механизъм за съхранение в HBase

HBase е ориентирана към колони база данни и данните се съхраняват в таблици. Таблиците са сортирани по RowId. Както е показано по-долу, HBase има RowId, което е колекцията от няколко семейства колони, които присъстват в таблицата.

Семействата колони, които присъстват в схемата, са двойки ключ-стойност. Ако наблюдаваме в детайли всяка фамилия колони има множество номера на колони. Стойностите на колоните, съхранени в дисковата памет. Всяка клетка на таблицата има свои собствени метаданни, като клеймо за време и друга информация.

Механизъм за съхранение в HBase

Достигайки до HBase, следните ключови термини представляват схемата на таблицата

  • Таблица : Събиране на налични редове.
  • Ред : Колекция от семейства колони.
  • Семейство колони : Колекция от колони.
  • Колона : Събиране на двойки ключ-стойност.
  • Пространство от имена : Логическо групиране на таблици.
  • Клетка : Туп {ред, колона, версия} точно определя дефиницията на клетка в HBase.

В този урок ще научите,

  • Механизъм за съхранение в HBase
  • Модел на данни за HBase
  • Архитектура на HBase и нейните важни компоненти
  • Обяснение на HBase за четене и запис на данни
  • Случаи на употреба на HBase
  • HBASE срещу HDFS

Ориентирани към колони срещу редово складирани

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

Следващата таблица дава някои ключови разлики между тези две хранилища

База данни, ориентирана към колона Редово ориентирана база данни
  • Когато ситуацията стигне до процес и анализ, ние използваме този подход. Като например онлайн аналитична обработка и нейните приложения.
  • Онлайн транзакционният процес като банкови и финансови домейни използва този подход.
  • Количеството данни, които могат да се съхраняват в този модел, е много голямо, както по отношение на петабайтите
  • Той е предназначен за малък брой редове и колони.

Модел на данни за HBase

HBase Data Model е набор от компоненти, който се състои от таблици, редове, семейства колони, клетки, колони и версии. Таблиците HBase съдържат семейства колони и редове с елементи, дефинирани като Основни ключове. Колона в таблицата с модели на данни HBase представлява атрибути на обектите.

Моделът за данни HBase се състои от следните елементи,

  • Комплект маси
  • Всяка таблица със семейства колони и редове
  • Всяка таблица трябва да има елемент, дефиниран като първичен ключ.
  • Редовият ключ действа като първичен ключ в HBase.
  • Всеки достъп до таблици HBase използва този първичен ключ
  • Всяка колона в HBase обозначава атрибут, съответстващ на обект

Архитектура на HBase и нейните важни компоненти

По-долу е даден подробен архивен архив на HBase с компоненти:

Диаграма на архитектурата HBase

Архитектурата на HBase се състои главно от четири компонента

  • HMaster
  • HRegionserver
  • HRegions
  • Зоопарк
  • HDFS

HMaster:

HMaster в HBase е внедряването на Master сървър в HBase архитектура. Той действа като агент за наблюдение, за да наблюдава всички екземпляри на регионалния сървър, присъстващи в клъстера, и действа като интерфейс за всички промени в метаданните. В разпределена клъстерна среда Master работи на NameNode. Master изпълнява няколко фонови нишки.

Следват важни роли, изпълнявани от HMaster в HBase.

  • Играе жизненоважна роля по отношение на производителността и поддържането на възли в клъстера.
  • HMaster осигурява администраторска производителност и разпространява услуги на различни регионални сървъри.
  • HMaster присвоява региони на регионални сървъри.
  • HMaster има функциите като контролиране на балансирането на натоварването и отказоустойчивост за обработка на натоварването върху възлите, присъстващи в клъстера.
  • Когато клиент иска да промени всяка схема и да промени всички операции с метаданни, HMaster поема отговорност за тези операции.

Някои от методите, изложени от HMaster Interface, са предимно методи, ориентирани към метаданни.

  • Таблица (createTable, removeTable, enable, disable)
  • 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, тъй като името предполага, че осигурява разпределена среда за съхранение и е файлова система, създадена по начин, който да работи на стоков хардуер. Той съхранява всеки файл в множество блокове и за да се поддържа толерантност към грешки, блоковете се репликират в клъстер Hadoop.

HDFS осигурява висока степен на толерантност към неизправности и работи на евтин стоков хардуер. Чрез добавяне на възли към клъстера и извършване на обработка и съхранение чрез използване на евтин стоков хардуер, това ще даде на клиента по-добри резултати в сравнение със съществуващия.

Тук данните, съхранявани във всеки блок, се репликират в 3 възела, всеки в случай, че който и да е възел падне, няма да има загуба на данни, той ще има подходящ механизъм за възстановяване на резервно копие.

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

Обяснение на HBase за четене и запис на данни

Операциите за четене и запис от клиента в Hfile могат да бъдат показани на диаграмата по-долу.

Стъпка 1) Клиентът иска да напише данни и от своя страна първо комуникира със сървъра Regions и след това регионите

Стъпка 2) Региони, които се свързват с memstore за съхранение, свързани със семейството колони

Стъпка 3) Първо се съхраняват данни в Memstore, където данните се сортират и след това се изхвърлят в HFile. Основната причина за използването на Memstore е съхраняването на данни в разпределена файлова система, базирана на Row Key. Memstore ще бъде поставен в основната памет на регионалния сървър, докато HFiles се записват в HDFS.

Стъпка 4) Клиентът иска да чете данни от региони

Стъпка 5) На свой ред Клиентът може да има директен достъп до Mem store и да поиска данни.

Стъпка 6) Клиентът се приближава до HFiles, за да получи данните. Данните се извличат и извличат от Клиента.

Memstore съхранява модификации в паметта на магазина. Йерархията на обектите в HBase Regions е показана отгоре надолу в таблицата по-долу.

Таблица Таблица HBase, присъстваща в клъстера HBase
Регион HRegions за представените таблици
Съхранявайте Той съхранява по ColumnFamily за всеки регион за таблицата
Мемстор
  • Магазин за всеки магазин за всеки регион за масата
  • Той сортира данни, преди да се измие в HFiles
  • Ефективността на писане и четене ще се увеличи поради сортирането
StoreFile StoreFiles за всеки магазин за всеки регион за таблицата
Блок Блокове, налични в StoreFiles

Случаи на употреба на HBase

Следват примери за случаи на употреба на HBase с подробно обяснение на решението, което предлага за различни технически проблеми

Декларация за проблема Решение
Телекомуникационната индустрия е изправена пред технически предизвикателства
  • Съхраняване на милиарди записи от дневника на CDR (подробен запис на обажданията), генерирани от телеком домейн
  • Осигуряване на достъп в реално време до CDR регистрационни файлове и информация за фактуриране на клиентите
  • Осигурете рентабилно решение в сравнение с традиционните системи за бази данни
HBase се използва за съхраняване на милиарди редове подробни записи на разговори. Ако 20TB данни се добавят на месец към съществуващата база данни на RDBMS, производителността ще се влоши. За да се обработи голямо количество данни в този случай, HBase е най-доброто решение. HBase извършва бързи заявки и показва записи.
В банковата индустрия генерира милиони копия на дневна база. В допълнение към това, банковата индустрия се нуждае и от аналитично решение, което да открива измами при парични транзакции За съхранение, обработка и актуализиране на огромни обеми данни и извършване на анализи, идеалното решение е - HBase, интегриран с няколко екосистемни компонента на Hadoop.

Освен това може да се използва HBase

  • Винаги, когато има нужда да пишете тежки приложения.
  • Извършване на онлайн регистрационен анализ и генериране на доклади за съответствие.

HBase срещу HDFS

HBase работи върху HDFS и Hadoop. Някои ключови разлики между HDFS и HBase са по отношение на операциите с данни и обработката.

HBASE

HDFS

  • Операции с ниска латентност
  • Операции с висока латентност
  • Случайно чете и пише
  • Пишете веднъж Прочетете много пъти
  • Достъп чрез команди на черупки, клиентски API в Java, REST, Avro или Thrift
  • Достъп предимно чрез MR (Map Reduce) задачи
  • Съхранението и обработката могат да бъдат изпълнени
  • Това е само за складови помещения

Някои типични ИТ индустриални приложения използват HBase операции заедно с Hadoop. Приложенията включват борсови данни, операции с онлайн банкиране и обработката на Hbase е най-подходящият метод за решение.

Обобщение

Hbase е една от разпределената база данни, ориентирана към колони NoSql, налична в Apache Foundation. HBase дава повече производителност за извличане на по-малко записи, вместо Hadoop или Hive. Много е лесно да се търси дадена входна стойност, защото поддържа индексиране, транзакции и актуализиране.

Можем да извършваме онлайн анализи в реално време, използвайки Hbase, интегриран с екосистемата Hadoop. Той има автоматично и конфигурируемо шардинг за набори от данни или таблици и осигурява спокойни API за изпълнение на задачите MapReduce.