Механизм хранения в HBase
HBase является базой данных, ориентированной на столбцы, а данные хранятся в таблицах. Таблицы отсортированы по RowId. Как показано ниже, HBase имеет RowId, который представляет собой набор из нескольких семейств столбцов, представленных в таблице.
Семейства столбцов, присутствующие в схеме, являются парами ключ-значение. Если мы рассмотрим подробно каждое семейство столбцов, имеющих несколько номеров столбцов. Значения столбца сохраняются в памяти диска. Каждая ячейка таблицы имеет свои метаданные, такие как отметка времени и другая информация.
Переходя к HBase, ниже приведены ключевые термины, представляющие схему таблицы.
- Таблица : Коллекция строк присутствует.
- Строка : Коллекция семейств столбцов.
- Семейство столбцов : Коллекция столбцов.
- Колонка : Коллекция пар ключ-значение.
- Пространство имен : логическая группировка таблиц.
- Ячейка : кортеж {row, column, version} точно определяет определение ячейки в HBase.
В этом уроке вы узнаете,
- Механизм хранения в HBase
- Модель данных HBase
- Архитектура HBase и ее важные компоненты
- HBase Объяснение и запись данных
- HBASE против HDFS
- Случаи использования HBase
Колонно-ориентированные против рядно-ориентированных хранилищ
Колонное и рядное хранилища отличаются по своему механизму хранения. Как мы все знаем, традиционные реляционные модели хранят данные в терминах строкового формата, например в терминах строк данных. Хранилища, ориентированные на столбцы, хранят таблицы данных в терминах столбцов и семейств столбцов.
В следующей таблице приведены некоторые ключевые различия между этими двумя хранилищами
Колонно-ориентированная база данных | Строка ориентированная база данных |
|
|
|
|
Модель данных HBase
Модель данных HBase состоит из следующих элементов:
-
Набор столов
-
Каждая таблица с семействами столбцов и строками
-
Каждая таблица должна иметь элемент, определенный как первичный ключ.
-
Ключ строки действует как первичный ключ в HBase.
-
Любой доступ к таблицам HBase использует этот первичный ключ
-
Каждый столбец, присутствующий в HBase, обозначает атрибут, соответствующий объекту
Архитектура HBase и ее важные компоненты
Архитектура HBase состоит в основном из четырех компонентов
- HMaster
- HRegionserver
- HRegions
- Работник зоопарка
- HDFS
HMaster:
HMaster — это реализация главного сервера в архитектуре HBase. Он действует как агент мониторинга для мониторинга всех экземпляров Region Server, присутствующих в кластере, и выступает в качестве интерфейса для всех изменений метаданных. В распределенной кластерной среде Master работает на NameNode. Мастер запускает несколько фоновых потоков.
Ниже приведены важные роли, выполняемые HMaster в HBase.
- Играет жизненно важную роль с точки зрения производительности и обслуживания узлов в кластере.
- HMaster обеспечивает производительность администратора и распределяет услуги между серверами разных регионов.
- HMaster назначает регионы серверам регионов.
- HMaster имеет такие функции, как управление балансировкой нагрузки и аварийное переключение для обработки нагрузки на узлы, присутствующие в кластере.
- Когда клиент хочет изменить любую схему и любые операции с метаданными, HMaster берет на себя ответственность за эти операции.
Некоторые из методов, предоставляемых HMaster Interface, в первую очередь ориентированы на метаданные.
- Таблица (createTable, removeTable, включить, отключить)
- Семейство столбцов (добавить столбец, изменить столбец)
- Регион (переместить, назначить)
Клиент общается в двух направлениях с HMaster и ZooKeeper. Для операций чтения и записи он напрямую связывается с серверами HRegion. HMaster назначает регионы серверам регионов и, в свою очередь, проверяет состояние работоспособности серверов регионов.
Во всей архитектуре у нас есть несколько региональных серверов. Hlog присутствует на региональных серверах, которые собираются хранить все файлы журналов.
Серверы регионов HBase:
Когда Region Server получает запросы на запись и чтение от клиента, он назначает запрос конкретному региону, в котором находится фактическое семейство столбцов. Однако клиент может напрямую связываться с серверами HRegion, поэтому нет необходимости в обязательном разрешении HMaster для клиента в отношении связи с серверами HRegion. Клиенту требуется помощь HMaster, когда требуются операции, связанные с метаданными и изменениями схемы.
HRegionServer — это реализация Сервера региона. Он отвечает за обслуживание и управление регионами или данными, которые присутствуют в распределенном кластере. Серверы региона работают на узлах данных, присутствующих в кластере Hadoop.
HMaster может связываться с несколькими серверами HRegion и выполняет следующие функции.
- Хостинг и управление регионами
- Разделение регионов автоматически
- Обработка запросов на чтение и запись
- Общение с клиентом напрямую
HBase Регионы:
HRegions являются основными строительными элементами кластера HBase, который состоит из распределения таблиц и состоит из семейств столбцов. Он содержит несколько магазинов, по одному для каждого семейства столбцов. Он состоит в основном из двух компонентов: Memstore и Hfile.
Работник зоопарка:
В HBase Zookeeper является централизованным сервером мониторинга, который поддерживает информацию о конфигурации и обеспечивает распределенную синхронизацию. Распределенная синхронизация — это доступ к распределенным приложениям, работающим в кластере, с обязанностью предоставлять услуги координации между узлами. Если клиент хочет общаться с регионами, клиент сервера должен сначала обратиться к ZooKeeper.
Это проект с открытым исходным кодом, и он предоставляет так много важных услуг.
Услуги, предоставляемые ZooKeeper
- Поддерживает информацию о конфигурации
- Обеспечивает распределенную синхронизацию
- Установление клиентской связи с серверами региона
- Предоставляет эфемерные узлы, для которых представляют разные серверы региона
- Использование главных серверов эфемерных узлов для обнаружения доступных серверов в кластере
- Для отслеживания сбоя сервера и сетевых разделов
Ведущие и подчиненные узлы HBase (региональные серверы) зарегистрировались в ZooKeeper. Клиенту необходим доступ к конфигурации кворума ZK (zookeeper) для подключения к главным и региональным серверам.
Во время сбоя узлов, присутствующих в кластере HBase, ZKquoram вызовет сообщения об ошибках и начнет восстанавливать неисправные узлы.
HDFS: —
HDFS — это распределенная файловая система Hadoop, поскольку название подразумевает, что она обеспечивает распределенную среду для хранилища, и это файловая система, разработанная таким образом, чтобы работать на обычном оборудовании. Он хранит каждый файл в нескольких блоках, и для обеспечения отказоустойчивости блоки реплицируются в кластере Hadoop.
HDFS обеспечивает высокую степень отказоустойчивости и работает на дешевом оборудовании. Добавляя узлы в кластер и выполняя обработку и хранение с использованием дешевого аппаратного обеспечения, это даст клиенту лучшие результаты по сравнению с существующим.
Здесь данные, хранящиеся в каждом блоке, реплицируются на 3 узла, каждый в случае, если какой-либо узел выйдет из строя, потери данных не произойдет, у него будет соответствующий механизм восстановления из резервной копии.
HDFS связывается с компонентами HBase и хранит большое количество данных распределенным образом.
HBase Объяснение и запись данных
Операции чтения и записи из клиента в Hfile могут быть показаны на диаграмме ниже.
Шаг 1) Клиент хочет записать данные и, в свою очередь, сначала общается с сервером регионов, а затем с регионами
Шаг 2) Области, связывающиеся с memstore для хранения, связанного с семейством столбцов
Шаг 3) Сначала данные сохраняются в Memstore, где данные сортируются, а после этого они сбрасываются в HFile. Основной причиной использования Memstore является хранение данных в распределенной файловой системе на основе ключа строки. Memstore будет помещен в основную память сервера региона, а HFiles будут записаны в HDFS.
Шаг 4) Клиент хочет прочитать данные из регионов
Шаг 5) В свою очередь, Клиент может иметь прямой доступ к хранилищу Mem и может запрашивать данные.
Шаг 6) Клиент обращается к HFiles для получения данных. Данные извлекаются и извлекаются Клиентом.
Memstore хранит изменения в памяти в магазине. Иерархия объектов в регионах HBase показана сверху вниз в таблице ниже.
Таблица | Таблица HBase присутствует в кластере HBase |
Область | HRegions для представленных таблиц |
хранить | Он хранит в каждой колонке для каждого региона для таблицы |
Memstore |
|
StoreFile | StoreFiles для каждого магазина для каждого региона для таблицы |
блок | Блоки присутствуют внутри StoreFiles |
HBase против HDFS
HBase работает поверх HDFS и Hadoop. Некоторые ключевые различия между HDFS и HBase заключаются в операциях с данными и их обработке.
Hbase |
HDFS |
|
|
|
|
|
|
|
|
Некоторые типичные промышленные приложения используют операции HBase вместе с Hadoop. Приложения включают в себя данные фондовой биржи, операции с данными онлайн-банкинга и обработку данных. Hbase — наиболее подходящий метод решения.
Случаи использования HBase
Ниже приведены примеры вариантов использования HBase с подробным объяснением решения, которое оно предоставляет для различных технических проблем.
Постановка задачи | Решение |
---|---|
Индустрия телекоммуникаций сталкивается со следующими техническими проблемами
|
HBase используется для хранения миллиардов строк подробных записей вызовов. Если в существующую базу данных РСУБД будет добавлено 20 ТБ данных в месяц, производительность ухудшится. Для обработки большого количества данных в этом случае использования HBase является лучшим решением. HBase выполняет быстрые запросы и отображает записи. |
Банковская индустрия генерирует миллионы записей на ежедневной основе. В дополнение к этому банковской отрасли также необходимо аналитическое решение, которое может обнаружить мошенничество в денежных операциях. | Для хранения, обработки и обновления больших объемов данных и выполнения аналитики идеальным решением является HBase, интегрированный с несколькими компонентами экосистемы Hadoop. |
Кроме того, HBase может быть использован
- Всякий раз, когда есть необходимость писать тяжелые приложения.
- Выполнение онлайн-аналитики журналов и создание отчетов о соответствии.
Вывод:-
Hbase — это одна из распределенных баз данных NoSql, доступная в Apache Foundation. HBase обеспечивает большую производительность для получения меньшего количества записей, чем Hadoop или Hive. Поиск любого заданного входного значения очень прост, поскольку он поддерживает индексацию, транзакции и обновление.
Мы можем проводить онлайн аналитику в реальном времени, используя Hbase, интегрированную с экосистемой Hadoop. Он имеет автоматический и настраиваемый шардинг для наборов данных или таблиц и предоставляет успокоительные API для выполнения заданий MapReduce.