Різниця між HDFS та HBase

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

Давайте розглянемо компоненти та архітектуру HDFS та HBase відповідно:

Компоненти HDFS

  • NameNode
  • DataNode

NameNode: NameNode може розглядатися як майстер системи. Він підтримує дерево файлової системи та метадані для всіх файлів і каталогів, присутніх у системі. Два файли "Зображення простору імен" та "Журнал редагування" використовуються для зберігання інформації метаданих. Namenode володіє знаннями всіх вузлів даних, що містять блоки даних для даного файлу, однак він не зберігає місця блоку постійно. Ця інформація реконструюється кожного разу з вузлів даних при запуску системи.

DataNode: DataNodes - це раби, які перебувають на кожній машині в кластері та забезпечують фактичне зберігання. Він відповідає за обслуговування, читання та запит запитів для клієнтів.

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

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

  • Hbase master
  • Сервер регіону
  • Область
  • Зоопарк

HMaster : Це головний сервер в архітектурі HBase. Це агент моніторингу для моніторингу всіх серверів регіону, а також 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> поставити 'test', 'row1', 'cf: a', 'value1'

0 ряд (и) за 0, 0560 секунд

  1. hbase (main): 005: 0> поставити 'test', 'row2', 'cf: b', 'value2'

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

  1. hbase (main): 006: 0> поставити 'test', 'row3', 'cf: c', 'value3'

0 ряд (и) за 0, 0450 секунд

  1. hbase (основна): 007: 0> сканувати 'тест'

РІДНА КОЛІНКА + КЛІТИНА

рядок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 ШаблонHDFS ідеально підходить для записів одноразового запису та багато разів читанняHBase ідеально підходить для випадкового запису та зчитування даних, що зберігаються у HDFS.
Продуктивність вулика (SQL)Відносно дуже добреУ 4-5 разів повільніше
Структуроване зберіганняЗробіть це самостійно або TSV або файл послідовностіМодель рідких сімейних стовпців
Максимальний розмір данихЗазвичай можуть зберігати близько 30 PBПриблизно близько 1 ПБ
Динамічні зміниHDFS має жорстку архітектуру, яка не дозволяє змінювати. Це не полегшує динамічне зберігання.HBase дозволяє динамічно змінюватись і може використовуватися для автономних програм.
Розподіл данихДані зберігаються розподіленим чином по вузлах кластера. Дані поділяються на блоки і потім зберігаються над вузлами, присутніми в кластері HDFS.Таблиці розподіляються на кластері через регіони, а регіони автоматично розбиваються та повторно розподіляються по мірі зростання ваших даних
Зберігання данихУсі дані зберігаються у вигляді невеликих файлів, а всі файли мають типовий розмір 64 Мб (що в новій версії - 128 Мб)Усі дані зберігаються у вигляді таблиць, рядків та стовпців
Моделювання данихУ HDFS ми використовуємо техніку зменшення карт, яка ділить файли на пари Ключ - ЗначенняHBase базується на моделі Bigtable Google, яка також використовує пари Key-Value
ОпераціїВін має високу затримку операційВін має низькі затримки операцій
ДоступністьДоступ до нього здійснюється в основному через MR (зменшення карт)Доступ до нього можна отримати за допомогою команд оболонки, клієнтського API на Java, REST, Avro або Thrift

Висновок - HDFS проти HBase

Загалом, і HDFS, і HBase мають чудові технології. Вони і HDFS, і HBase були створені для зберігання великих даних та полегшення доступу до них та їх обчислення. Вони і HDFS, і HBase йдуть пліч-о-пліч, оскільки один HDFS зберігає дані, інший HBase ставить схему даних про те, як зберігати та отримувати їх згодом для використання клієнтом.

Hbase - одна з розподілених баз даних, орієнтованих на стовпці NoSql, доступна в апаш-фундації. 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 (Інфографіка)

Категорія: