HBase Architecture: варианты использования, компоненты и модель данных

HBase ArchiТекстура и ее важные компоненты

Архитектура HBase состоит в основном из четырех компонентов.

  • Хмастер
  • HRegionserver
  • HRрегионы
  • Работник зоопарка
  • HDFS

Ниже приведена подробная архитектура HBase с компонентами:

HBase Archiтекстура
HBase ArchiДиаграмма тектуры

Хмастер

Хмастер в HBase — это реализация Мастер-сервера в архитектуре HBase. Он действует как агент мониторинга, отслеживая все экземпляры Сервера региона, присутствующие в кластере, и действует как интерфейс для всех изменений метаданных. В среде распределенного кластера Master работает на NameNode. Мастер запускает несколько фоновых потоков.

Ниже приведены важные роли, выполняемые HMaster в HBase.

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

Некоторые из методов, предоставляемых интерфейсом HMaster, в первую очередь ориентированы на метаданные.

  • Таблица (createTable, RemoveTable, включить, отключить)
  • ColumnFamily (добавление столбца, изменение столбца)
  • Регион (переместить, назначить)

Клиент взаимодействует двунаправленно как с HMaster, так и с ZooKeeper. Для операций чтения и записи он напрямую контактирует с серверами HRegion. HMaster назначает регионы серверам регионов и, в свою очередь, проверяет состояние работоспособности серверов регионов.

Во всей архитектуре у нас есть несколько региональных серверов. Хлог присутствует на региональных серверах, которые будут хранить все файлы журналов.

Серверы региона HBase

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

HRegionServer — это реализация сервера региона. Он отвечает за обслуживание и управление регионами или данными, присутствующими в распределенном кластере. Серверы региона работают на узлах данных, присутствующих в кластере Hadoop.

HMaster может взаимодействовать с несколькими серверами HRegion и выполняет следующие функции.

  • Хостинг и управление регионами
  • Автоматическое разделение регионов
  • Обработка запросов на чтение и запись
  • Общение с клиентом напрямую

HBase-регионы

HRegions — это основные строительные элементы кластера HBase, который состоит из распределения таблиц и семейств столбцов. Он содержит несколько хранилищ, по одному для каждого семейства столбцов. Он состоит в основном из двух компонентов: Memstore и Hfile.

Работник зоопарка

HBase Zookeeper — это сервер централизованного мониторинга, который хранит информацию о конфигурации и обеспечивает распределенную синхронизацию. Распределенная синхронизация предназначена для доступа к распределенным приложениям, работающим в кластере, с ответственностью за предоставление услуг координации между узлами. Если клиент хочет взаимодействовать с регионами, клиент сервера должен сначала обратиться к ZooKeeper.

Это проект с открытым исходным кодом, и он предоставляет очень много важных услуг.

Услуги, предоставляемые Работник зоопарка

  • Сохраняет информацию о конфигурации
  • Обеспечивает распределенную синхронизацию
  • Установление связи клиента с региональными серверами
  • Предоставляет временные узлы, которые представляют серверы разных регионов.
  • Удобство использования мастер-серверов эфемерных узлов для обнаружения доступных серверов в кластере
  • Для отслеживания сбоев сервера и сетевых разделов

Главные и подчиненные узлы HBase (серверы региона) зарегистрировались в ZooKeeper. Клиенту необходим доступ к конфигурации кворума ZK (zookeeper) для подключения к главному и региональному серверам.

Во время сбоя узлов, присутствующих в кластере HBase, ZKquoram выдает сообщения об ошибках и начинает восстанавливать вышедшие из строя узлы.

HDFS

HDFS — это распределенная среда Hadoop. Файловая система, как следует из названия, он обеспечивает распределенную среду для хранения и представляет собой файловую систему, предназначенную для работы на обычном оборудовании. Он хранит каждый файл в нескольких блоках, и для обеспечения отказоустойчивости блоки реплицируются в кластере Hadoop.

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

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

HDFS взаимодействовать с компонентами HBase и хранить большие объемы данных распределенным образом.

Модель данных HBase

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

Модель данных HBase состоит из следующих элементов:

  • Набор столов
  • Каждая таблица с семействами столбцов и строк.
  • Каждая таблица должна иметь элемент, определенный как первичный ключ.
  • Ключ строки действует как первичный ключ в HBase.
  • Любой доступ к таблицам HBase использует этот первичный ключ.
  • Каждый столбец, присутствующий в HBase, обозначает атрибут, соответствующий объекту.

Варианты использования HBase

Ниже приведены примеры вариантов использования HBase с подробным объяснением решения различных технических проблем.

Постановка задачи Решение
Телекоммуникационная промышленность сталкивается со следующими техническими проблемами

  • Хранение миллиардов записей журнала CDR (подробная запись вызовов), созданных телекоммуникационным доменом.
  • Предоставление доступа в режиме реального времени к журналам CDR и платежной информации клиентов.
  • Обеспечить экономически эффективное решение по сравнению с традиционными системами баз данных.
HBase используется для хранения миллиардов строк подробных записей вызовов. Если в существующую базу данных РСУБД будет добавляться 20 ТБ данных в месяц, производительность ухудшится. Для обработки большого объема данных в этом случае лучшим решением является HBase. HBase выполняет быстрые запросы и отображает записи.
" Банковское дело ежедневно генерирует миллионы записей. В дополнение к этому банковская отрасль также нуждается в аналитическом решении, которое может обнаруживать мошенничество при денежных операциях. Для хранения, обработки и обновления огромных объемов данных и проведения аналитики идеальным решением является HBase, интегрированный с несколькими компонентами экосистемы Hadoop.

Кроме того, можно использовать HBase

  • Всякий раз, когда возникает необходимость писать тяжелые приложения.
  • Выполнение онлайн-аналитики журналов и создание отчетов о соответствии.

Механизм хранения в HBase

HBase — это база данных, ориентированная на столбцы, и данные хранятся в таблицах. Таблицы отсортированы по RowId. Как показано ниже, HBase имеет RowId, который представляет собой коллекцию нескольких семейств столбцов, присутствующих в таблице.

Семейства столбцов, присутствующие в схеме, представляют собой пары «ключ-значение». Если мы подробно рассмотрим каждое семейство столбцов, имеющее несколько чисел столбцов. Значения столбцов сохраняются в дисковой памяти. Каждая ячейка таблицы имеет свои собственные метаданные, такие как отметка времени и другая информация.

Механизм хранения в HBase
Механизм хранения в HBase

Что касается HBase, то ниже приведены ключевые термины, представляющие схему таблицы.

  • Таблица: присутствует набор строк.
  • Строка: Коллекция семейств колонн.
  • Семейство столбцов: Коллекция столбцов.
  • Column: Коллекция пар ключ-значение.
  • Пространство имен: Логическая группировка таблиц.
  • Ячейка: кортеж {row, columns, version} точно определяет определение ячейки в HBase.

Столбцово-ориентированные и строкоориентированные хранилища

Хранилища, ориентированные на столбцы и строки, различаются механизмом хранения. Как мы все знаем, традиционные реляционные модели хранят данные в формате строк, например строк данных. В хранилищах, ориентированных на столбцы, таблицы данных хранятся в виде столбцов и семейств столбцов.

В следующей таблице приведены некоторые ключевые различия между этими двумя хранилищами.

Столбцовая база данных Строко-ориентированная база данных
Когда дело касается процессов и аналитики, мы используем этот подход. Такой как Онлайн-аналитическая обработка и это приложения. Процесс онлайн-транзакций такой подход используется в банковской и финансовой сферах.
Объем данных, которые можно хранить в этой модели, очень огромен, например, в петабайтах. Он рассчитан на небольшое количество строк и столбцов.

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

Операции чтения и записи из клиента в Hfile показаны на диаграмме ниже.

HBase чтение и запись данных

Шаг 1) Клиент хочет записать данные и, в свою очередь, сначала связывается с сервером регионов, а затем с регионами.

Шаг 2) Регионы, обращающиеся в memstore для хранения данных, связанных с семейством столбцов.

Шаг 3) Сначала данные сохраняются в Memstore, где данные сортируются, а затем сбрасываются в HFile. Основная причина использования Memstore — хранение данных в распределенной файловой системе на основе ключа строки. Memstore будет размещен в основной памяти сервера региона, а файлы HFiles будут записаны в HDFS.

Шаг 4) Клиент хочет прочитать данные из регионов

Шаг 5) В свою очередь, Клиент может иметь прямой доступ к хранилищу Mem и может запрашивать данные.

Шаг 6) Клиент подходит к HFiles, чтобы получить данные. Данные извлекаются и извлекаются Клиентом.

Memstore хранит изменения в хранилище в памяти. Иерархия объектов в регионах HBase показана сверху вниз в таблице ниже.

Таблица Таблица HBase присутствует в кластере HBase
Регион HRegions для представленных таблиц
Магазин Он сохраняет каждое ColumnFamily для каждого региона таблицы.
Мемстор
  • Memstore для каждого магазина для каждого региона для таблицы
  • Он сортирует данные перед их сбросом в HFiles.
  • Производительность записи и чтения увеличится за счет сортировки
StoreFile StoreFiles для каждого магазина для каждого региона таблицы
Заблокировать Блоки присутствуют внутри StoreFiles

HBase против HDFS

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

HBASE HDFS
Операции с низкой задержкой Операции с высокой задержкой
Случайное чтение и запись Напишите один раз Прочтите много раз
Доступ через Команды оболочки, клиентский API в Java, ОТДЫХ, Авро или Бережливость Доступ в основном осуществляется через задания MR (Map сокращения).
Хранение и обработка могут выполняться Это только для складских помещений

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

Итого

  • Компоненты архитектуры HBase: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS.
  • HMaster в HBase — это реализация главного сервера в архитектуре HBase.
  • Когда сервер региона HBase получает запросы на запись и чтение от клиента, он назначает запрос определенному региону, где находится фактическое семейство столбцов.
  • HRegions — это основные строительные элементы кластера HBase, который состоит из распределения таблиц и семейств столбцов.
  • HBase Zookeeper — это сервер централизованного мониторинга, который хранит информацию о конфигурации и обеспечивает распределенную синхронизацию.
  • HDFS обеспечивает высокую степень отказоустойчивости и работает на дешевом аппаратном обеспечении.
  • Модель данных HBase — это набор компонентов, состоящий из таблиц, строк, семейств столбцов, ячеек, столбцов и версий.
  • Хранилища, ориентированные на столбцы и строки, различаются механизмом хранения.