Разница между HDFS и HBase

HDFS (распределенная файловая система Hadoop) HDFS позволяет хранить огромные объемы данных распределенным и избыточным образом, который работает на обычном оборудовании. HBase (база данных Hadoop) - это база данных NoSQL, которая работает поверх кластера Hadoop

Давайте посмотрим на компоненты и архитектуру HDFS и HBase соответственно:

Компоненты HDFS

  • NameNode
  • DataNode

NameNode: NameNode может рассматриваться как мастер системы. Он поддерживает дерево файловой системы и метаданные для всех файлов и каталогов, присутствующих в системе. Два файла 'Namespace image' и 'edit log' используются для хранения метаданных. Namenode знает все узлы данных, содержащие блоки данных для данного файла, однако он не хранит местоположения блоков постоянно. Эта информация восстанавливается каждый раз из узлов данных при запуске системы.

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

Архитектура HDFS: -

Компоненты HBase: -

  • Hbase мастер
  • Региональный сервер
  • Область
  • Работник зоопарка

HMaster : Это главный сервер в архитектуре HBase. Это агент мониторинга для мониторинга всего Region Server, а также HMaster является интерфейсом для всех изменений метаданных. Он работает на NameNode.

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

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

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

Архитектура HBase: - HBase является частью экосистемы Hadoop.

Глубинная модель: -

Сравнение лицом к лицу между HDFS и HBase (инфографика)

Ниже приводится сравнение 14 лучших между HDFS и HBase

Ключевые различия между HDFS и HBase

Ниже представлены различия между HDFS и HBase:

  1. HDFS - это распределенная файловая система, которая хорошо подходит для хранения больших файлов. Но HBase, с другой стороны, построен на основе HDFS и обеспечивает быстрый поиск и обновление записей для больших таблиц.
  2. HDFS основана на файловой системе GFS. Но HBase распространяется - использует HDFS для хранения, столбцов - многомерный (версии) и системы хранения
  3. HDFS использует HIVE в качестве одного из своих компонентов для языка запросов, который является HIVE Query Language (HQL), но Hbase НЕ является базой данных SQL, что означает: - Нет объединений, нет механизма запросов, нет типов данных, нет (чертовски) SQL, нет схемы и нет необходимости в DBA.
  4. Поскольку HDFS является распределенным хранилищем, следовательно, у нее нет специального языка, кроме команд, используемых, например, в UNIX, например: - Hadoop dfs -mkdir / foodir
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Но с другой стороны, Hbase имеет свой собственный интерфейс в виде Hbase Shell, например:

  1. hbase (main): 003: 0> создать 'test', 'cf'

0 ряд (ов) за 1, 2200 секунды

  1. hbase (main): 004: 0> put 'test', 'row1', 'cf: a', 'value1'

0 строк в 0.0560 секунд

  1. hbase (main): 005: 0> put 'test', 'row2', 'cf: b', 'value2'

0 ряд (ов) за 0, 0370 секунд

  1. hbase (main): 006: 0> положить 'test', 'row3', 'cf: c', 'value3'

0 строк в 0, 0450 секунд

  1. hbase (main): 007: 0> сканирование 'test'

Строка Колонна + клетка

строка1 столбец = cf: a, отметка времени = 1288380727188, значение = значение1

столбец строки 2 = cf: b, метка времени = 1288380738440, значение = значение 2

столбец строки 3 = cf: c, метка времени = 1288380747365, значение = значение 3

3 ряд (ов) за 0, 0590 секунд

Сравнительная таблица HDFS и HBase

Основа для сравненияHDFSHBase
Почему мы нуждаемся в нихНужно обрабатывать огромные наборы данных на больших кластерах компьютеровHBase - это распределенное хранилище данных, ориентированное на столбцы, построенное на основе HDFS.
Узлы выходят из строя каждый деньа) Отказ ожидается, а не исключение
б) Количество узлов в кластере не является постоянным
HBase - это проект с открытым исходным кодом Apache, целью которого является предоставление хранилища для распределенных вычислений Hadoop
Написать шаблонДобавить толькоПроизвольная запись, объемная добавка
Читать шаблонПолное сканирование таблицы, сканирование таблицы разделовСлучайное чтение, сканирование малого диапазона или сканирование таблицы
W / R PatternHDFS идеально подходит для сценариев использования с однократной записью и многократным чтениемHBase идеально подходит для произвольной записи и чтения данных, хранящихся в HDFS.
Hive (SQL) ПроизводительностьОтносительно очень хорошоВ 4-5 раз медленнее
Структурированное хранилищеСделай сам или TSV или файл последовательностиМодель данных семейства разреженных столбцов
Максимальный размер данныхОбычно можно хранить около 30 ПБПримерно около 1 ПБ
Динамические измененияHDFS имеет жесткую архитектуру, которая не допускает изменений. Это не облегчает динамическое хранение.HBase допускает динамические изменения и может использоваться для автономных приложений.
Распределение данныхДанные хранятся в распределенном порядке по узлам в кластере. Данные делятся на блоки и затем сохраняются на узлах, присутствующих в кластере HDFS.Таблицы распределяются по кластеру по регионам, а регионы автоматически разделяются и перераспределяются по мере роста ваших данных.
Хранилище данныхВсе данные хранятся в виде небольших файлов, и все файлы имеют типичный размер 64 МБ (что составляет 128 МБ в более новой версии)Все данные хранятся в виде таблиц, строк и столбцов.
Моделирование данныхВ HDFS мы используем технику Map Reduce, которая делит файлы на пары ключ - значение.HBase основан на модели Bigtable Google, которая также использует пары ключ-значение
операцииИмеет высокие задержки операцийОперации с низкой задержкой
доступностьДоступ к нему в основном осуществляется через MR (Map Reduce)Доступ к нему можно получить с помощью команд оболочки, клиентского API на Java, REST, Avro или Thrift.

Вывод - HDFS против HBase

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

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

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

Рекомендуемая статья

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

  1. HBase vs Cassandra - кто лучше (Инфографика)
  2. Узнайте 7 лучших различий между Hadoop и HBase
  3. 12 лучших сравнений Apache Hive и Apache HBase (Инфографика)