Разлика между HDFS и HBase

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

Нека да разгледаме компонентите и архитектурата на HDFS и HBase съответно:

Компоненти на HDFS

  • NameNode
  • DataNode

NameNode: NameNode може да се счита за главен на системата. Той поддържа дървото на файловата система и метаданните за всички файлове и директории, присъстващи в системата. Два файла „Изображение в пространството на имената“ и „журнал за редактиране“ се използват за съхраняване на информация за метаданни. Namenode има познания за всички възли на данни, съдържащи блокове от данни за даден файл, но не съхранява местоположенията на блокове постоянно. Тази информация се реконструира всеки път от възли за данни при стартиране на системата.

DataNode: DataNodes са роби, които се намират на всяка машина в клъстер и осигуряват действителното съхранение. Той отговаря за обслужване, четене и писане на заявки за клиентите.

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

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

  • Hbase master
  • Регион сървър
  • област
  • Zookeeper

HMaster : Това е Master сървърът в архитектурата на HBase. Това е агент за мониторинг, който следи всички Регионален сървър, а също така HMaster е отговорност да бъде интерфейс за всички промени в метаданните. Тя работи на NameNode.

Региони сървъри: Когато Регионалният сървър получава записва и чете заявки от клиента, той присвоява заявката на конкретен регион, където реалното семейство колони пребивава. Въпреки това, клиентът може директно да се свърже със сървърите на региона, няма нужда от задължително разрешение от HMaster на клиента по отношение на комуникацията със регионалните сървъри. Клиентът изисква помощ от HMaster, когато се изискват операции, свързани с метаданни и промени в схемата.

Региони: Регионите са основните строителни елементи на клъстера HBase, който се състои от разпределението на таблици и се състои от семейства на колони. Съдържа множество магазини, по един за всяка група колони. Състои се основно от два компонента, които са Memstore и Hfile.

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

HBase Architecture: - 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> сканиране 'тест'

РАДЕН КОЛОН + КЛЕТКА

row1 колона = cf: a, времева марка = 1288380727188, value = value1

row2 колона = cf: b, timestamp = 1288380738440, value = value2

row3 колона = cf: c, времева марка = 1288380747365, value = value3

3 ред (и) за 0.0590 секунди

Таблица за сравняване на HDFS срещу HBase

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

Заключение - HDFS срещу HBase

Като цяло, както HDFS, така и HBase притежават прекрасни технологии. И HDFS, и HBase са създадени, за да съхраняват големите данни и да улесняват достъпа и изчисляването им. И HDFS и HBase вървят рамо до рамо, тъй като единият HDFS съхранява данните, другият HBase поставя схема на данните за това как да се съхраняват и извличат по-късно за използване на клиента.

Hbase е една от колоните, ориентирани към колони, разпределена от NoSql, налична във фондация apache. HBase дава по-висока производителност за извличане на по-малко записи, отколкото Hadoop или Hive. Много е лесно да търсите дадена стойност на входа, тъй като поддържа индексиране, транзакции и актуализиране.

Можем да извършваме онлайн анализи в реално време, използвайки Hbase, интегрирана с екосистемата Hadoop. Той има автоматично и конфигуриращо заточване за набори от данни или таблици и осигурява спокойни API за изпълнение на заданията MapReduce.

Препоръчителен член

Това е ръководство за HDFS срещу HBase, тяхното значение, сравнение между главата, ключови разлики, таблица на сравнението и заключение. тази статия има всички полезни разлики между HDFS и HBase. Можете също да разгледате следните статии, за да научите повече -

  1. HBase срещу Cassandra - кой е по-добър (Инфографика)
  2. Разберете 7-те най-добри разлики между Hadoop срещу HBase
  3. Топ 12 Сравнение на Apache Hive с Apache HBase (Инфографика)

Категория: