Архитектура HBase: все, что вам нужно знать [2022]

Опубликовано: 2021-01-06

Как структурированные, так и неструктурированные данные растут в геометрической прогрессии, и Apache Hadoop доказал свое превосходство в обработке таких огромных данных. Таким образом, Apache Hadoop завоевал большую популярность в мире больших данных. Однако у архитектуры Hadoop HDFS есть определенные ограничения.

HDFS выводит операции с высокой задержкой и не может одновременно обрабатывать большой объем запросов на чтение и запись. Еще одно ограничение заключается в том, что HDFS представляет собой архитектуру с однократной записью и многократным чтением, что означает, что для изменения набора данных необходимо полностью перезаписать файл. Эти ограничения архитектуры HDFS вызвали потребность в архитектуре HBase .

Оглавление

Что такое HBase?

HBase — это столбцовая архитектура хранения данных, созданная поверх HDFS для преодоления ее ограничений. Он использует базовые функции HDFS и дополняет их, обеспечивая масштабируемость, обрабатывая большой объем запросов на чтение и запись в режиме реального времени. Хотя архитектура HBase представляет собой базу данных NoSQL, она упрощает процесс обслуживания данных, равномерно распределяя их по кластеру. Это ускоряет доступ и изменение данных в модели данных HBase. Узнайте больше о HBase.

Каковы компоненты модели данных HBase?

Поскольку модель данных HBase представляет собой базу данных NoSQL, разработчики могут легко читать и записывать данные по мере необходимости, что делает ее быстрее, чем архитектура HDFS. Он состоит из следующих компонентов:

1. Таблицы HBase : архитектура HBase ориентирована на столбцы; следовательно, данные хранятся в таблицах в табличном формате.

2. RowKey : RowKey назначается каждому набору записываемых данных. Это упрощает поиск определенных данных в таблицах HBase.

3. Столбцы . Столбцы — это различные атрибуты набора данных. Каждый RowKey может иметь неограниченное количество столбцов.

4. Семейство столбцов. Семейства столбцов представляют собой комбинацию нескольких столбцов. Один запрос на чтение семейства столбцов дает доступ ко всем столбцам в этом семействе, что ускоряет и упрощает чтение данных.

5. Квалификаторы столбцов. Квалификаторы столбцов похожи на заголовки столбцов или имена атрибутов в обычной таблице.

6. Ячейка : это кортеж строки-столбца, который идентифицируется с помощью квалификаторов RowKey и столбца.

7. Отметка времени . Всякий раз, когда данные сохраняются в модели данных HBase, они сохраняются с отметкой времени.

Читайте: Компоненты экосистемы Hadoop

Каковы компоненты архитектуры HBase?

Архитектура HBase состоит из трех основных компонентов: HMaster, Region Server и ZooKeeper.

1. ХМастер

HMaster работает аналогично своему названию. Это мастер, который назначает регионы серверу регионов (подчиненный). Архитектура HBase использует процесс Auto Sharding для хранения данных. В этом процессе, когда таблица HBase становится слишком длинной, она распределяется системой с помощью HMaster. Некоторые из типичных обязанностей HMaster включают в себя:

  • Контролируйте отказоустойчивость
  • Управление региональным сервером и кластером Hadoop
  • Обработка операций DDL, таких как создание и удаление таблиц.
  • Управление изменениями в операциях с метаданными
  • Управление регионами и их назначение региональным серверам
  • Принимать запросы и отправлять их на соответствующий региональный сервер.

2. Региональный сервер

Региональные серверы — это конечные узлы, обрабатывающие все запросы пользователей. Несколько регионов объединены в один региональный сервер. Эти регионы содержат все строки между указанными ключами. Обработка пользовательских запросов — сложная задача, поэтому региональные серверы дополнительно разделены на четыре различных компонента, чтобы упростить управление запросами.

  • Журнал упреждающей записи (WAL) : WAL подключается к каждому серверу регионов и хранит временные данные, которые еще не зафиксированы на диске.
  • Блочный кеш : это кеш запросов на чтение; все недавно прочитанные данные хранятся в блочном кеше. Данные, которые редко используются, автоматически удаляются из хранилища по мере его заполнения.
  • MemStore : это кеш записи, отвечающий за хранение данных, еще не записанных на диск.
  • HFile : HFile сохраняет все фактические данные после фиксации.

3. Зоопарк

ZooKeeper действует как мост через архитектуру HBase . Он отвечает за отслеживание всех региональных серверов и регионов, которые находятся внутри них. Мониторинг того, какие региональные серверы и HMaster активны, а какие вышли из строя, также является частью обязанностей ZooKeeper. Когда он обнаруживает, что регион сервера вышел из строя, он запускает HMaster для выполнения необходимых действий. С другой стороны, если сам HMaster выходит из строя, он запускает неактивный HMaster, который становится активным после предупреждения. Каждому пользователю и даже HMaster необходимо пройти через ZooKeeper для доступа к региональным серверам и данным внутри. ZooKeeper хранит файл .Meta , который содержит список всех региональных серверов. В обязанности ZooKeeper входит:

  • Установление связи в кластере Hadoop
  • Ведение информации о конфигурации
  • Отслеживание отказа сервера региона и HMaster
  • Ведение информации о региональном сервере

Как обрабатываются запросы в архитектуре HBase?

Теперь, когда мы знаем основные компоненты архитектуры HBase и их функции, давайте углубимся в то, как запросы обрабатываются в рамках всей архитектуры.

1. Начать поиск в архитектуре HBase

Шаги для инициализации поиска:

  1. Пользователь извлекает метатаблицу из ZooKeeper, а затем запрашивает местоположение соответствующего регионального сервера.
  2. Затем пользователь будет запрашивать точные данные с Регионального сервера с помощью RowKey.

2. Напишите механизм в архитектуре HBase

Шаги для записи в архитектуре HBase :

  1. Клиенту сначала нужно будет найти региональный сервер, а затем местоположение данных для его изменения. (Этот шаг задействован только для преобразования данных, а не для записи свежей информации)
  2. Фактический запрос на запись начинается с WAL, где клиент записывает данные.
  3. WAL передает данные в MemStore и отправляет подтверждение пользователю.
  4. Когда MemStore заполняется данными, он фиксирует данные в HFile, где они хранятся.

3. Чтение механизма в архитектуре HBase

Чтобы прочитать какие-либо данные, пользователь сначала должен получить доступ к соответствующему серверу регионов. Когда региональный сервер известен, другой процесс включает в себя:

  1. Первое сканирование выполняется в кеше чтения, который является блочным кешем.
  2. Следующее место сканирования — MemStore, то есть кэш записи.
  3. Если данные не найдены в кэше блоков или в MemStore, сканер извлечет данные из HFile.

Как работает восстановление данных в архитектуре HBase?

Архитектура Hbase разбивает данные путем уплотнения и разделения по регионам, чтобы уменьшить нагрузку данных в кластере. Однако, если произошел сбой и требуется восстановление, это делается следующим образом:

  1. ZooKeeper запускает HMaster при сбое сервера.
  2. HMaster распределяет поврежденные регионы и WAL на активные серверы регионов.
  3. Эти региональные серверы повторно выполняют WAL и создают MemStore.
  4. Когда все региональные серверы повторно запускают WAL, все данные вместе с семействами столбцов восстанавливаются.

Оформить заказ: экосистема Hadoop и компоненты

Нижняя линия

Данные стали новой нефтью в различных отраслях. Следовательно, в Hadoop есть множество возможностей для карьерного роста. Вы можете узнать все о Hadoop и Big Data на upGrad .

Если вам интересно узнать больше о Hbase, Big Data, ознакомьтесь с нашей программой PG Diploma в области специализации разработки программного обеспечения в области больших данных, которая предназначена для работающих профессионалов и предоставляет более 7 тематических исследований и проектов, охватывает 14 языков и инструментов программирования, практические советы. - на семинарах, более 400 часов тщательного обучения и помощи в трудоустройстве в ведущих фирмах.

Изучайте онлайн-курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Освойте технологии будущего — большие данные

400+ ЧАСОВ ОБУЧЕНИЯ. 14 ЯЗЫКОВ И ИНСТРУМЕНТОВ. СТАТУС ВЫПУСКНИКОВ IIIT-B.
Расширенная программа сертификации в области больших данных от IIIT Bangalore