Учебники

2) Архитектура, DataFlow, Варианты использования

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

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

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

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

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

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

В этом уроке вы узнаете,

Колонно-ориентированные против рядно-ориентированных хранилищ

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

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

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

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

Модель данных 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 могут быть показаны на диаграмме ниже.

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

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

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

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

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

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

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

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

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

HBase против HDFS

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

Hbase

HDFS

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

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

Случаи использования HBase

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

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

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

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

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

Вывод:-

Hbase — это одна из распределенных баз данных NoSql, доступная в Apache Foundation. HBase обеспечивает большую производительность для получения меньшего количества записей, чем Hadoop или Hive. Поиск любого заданного входного значения очень прост, поскольку он поддерживает индексацию, транзакции и обновление.

Мы можем проводить онлайн аналитику в реальном времени, используя Hbase, интегрированную с экосистемой Hadoop. Он имеет автоматический и настраиваемый шардинг для наборов данных или таблиц и предоставляет успокоительные API для выполнения заданий MapReduce.