HBase Architecture: варианты использования, компоненты и модель данных
HBase ArchiТекстура и ее важные компоненты
Архитектура HBase состоит в основном из четырех компонентов.
- Хмастер
- HRegionserver
- HRрегионы
- Работник зоопарка
- HDFS
Ниже приведена подробная архитектура HBase с компонентами:
Хмастер
Хмастер в 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 с подробным объяснением решения различных технических проблем.
Постановка задачи | Решение |
---|---|
Телекоммуникационная промышленность сталкивается со следующими техническими проблемами
|
HBase используется для хранения миллиардов строк подробных записей вызовов. Если в существующую базу данных РСУБД будет добавляться 20 ТБ данных в месяц, производительность ухудшится. Для обработки большого объема данных в этом случае лучшим решением является HBase. HBase выполняет быстрые запросы и отображает записи. |
" Банковское дело ежедневно генерирует миллионы записей. В дополнение к этому банковская отрасль также нуждается в аналитическом решении, которое может обнаруживать мошенничество при денежных операциях. | Для хранения, обработки и обновления огромных объемов данных и проведения аналитики идеальным решением является HBase, интегрированный с несколькими компонентами экосистемы Hadoop. |
Кроме того, можно использовать HBase
- Всякий раз, когда возникает необходимость писать тяжелые приложения.
- Выполнение онлайн-аналитики журналов и создание отчетов о соответствии.
Механизм хранения в HBase
HBase — это база данных, ориентированная на столбцы, и данные хранятся в таблицах. Таблицы отсортированы по RowId. Как показано ниже, HBase имеет RowId, который представляет собой коллекцию нескольких семейств столбцов, присутствующих в таблице.
Семейства столбцов, присутствующие в схеме, представляют собой пары «ключ-значение». Если мы подробно рассмотрим каждое семейство столбцов, имеющее несколько чисел столбцов. Значения столбцов сохраняются в дисковой памяти. Каждая ячейка таблицы имеет свои собственные метаданные, такие как отметка времени и другая информация.
Что касается HBase, то ниже приведены ключевые термины, представляющие схему таблицы.
- Таблица: присутствует набор строк.
- Строка: Коллекция семейств колонн.
- Семейство столбцов: Коллекция столбцов.
- Column: Коллекция пар ключ-значение.
- Пространство имен: Логическая группировка таблиц.
- Ячейка: кортеж {row, columns, version} точно определяет определение ячейки в HBase.
Столбцово-ориентированные и строкоориентированные хранилища
Хранилища, ориентированные на столбцы и строки, различаются механизмом хранения. Как мы все знаем, традиционные реляционные модели хранят данные в формате строк, например строк данных. В хранилищах, ориентированных на столбцы, таблицы данных хранятся в виде столбцов и семейств столбцов.
В следующей таблице приведены некоторые ключевые различия между этими двумя хранилищами.
Столбцовая база данных | Строко-ориентированная база данных |
---|---|
Когда дело касается процессов и аналитики, мы используем этот подход. Такой как Онлайн-аналитическая обработка и это приложения. | Процесс онлайн-транзакций такой подход используется в банковской и финансовой сферах. |
Объем данных, которые можно хранить в этой модели, очень огромен, например, в петабайтах. | Он рассчитан на небольшое количество строк и столбцов. |
Объяснение чтения и записи данных HBase
Операции чтения и записи из клиента в Hfile показаны на диаграмме ниже.
Шаг 1) Клиент хочет записать данные и, в свою очередь, сначала связывается с сервером регионов, а затем с регионами.
Шаг 2) Регионы, обращающиеся в memstore для хранения данных, связанных с семейством столбцов.
Шаг 3) Сначала данные сохраняются в Memstore, где данные сортируются, а затем сбрасываются в HFile. Основная причина использования Memstore — хранение данных в распределенной файловой системе на основе ключа строки. Memstore будет размещен в основной памяти сервера региона, а файлы HFiles будут записаны в HDFS.
Шаг 4) Клиент хочет прочитать данные из регионов
Шаг 5) В свою очередь, Клиент может иметь прямой доступ к хранилищу Mem и может запрашивать данные.
Шаг 6) Клиент подходит к HFiles, чтобы получить данные. Данные извлекаются и извлекаются Клиентом.
Memstore хранит изменения в хранилище в памяти. Иерархия объектов в регионах HBase показана сверху вниз в таблице ниже.
Таблица | Таблица HBase присутствует в кластере HBase |
Регион | HRegions для представленных таблиц |
Магазин | Он сохраняет каждое ColumnFamily для каждого региона таблицы. |
Мемстор |
|
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 — это набор компонентов, состоящий из таблиц, строк, семейств столбцов, ячеек, столбцов и версий.
- Хранилища, ориентированные на столбцы и строки, различаются механизмом хранения.