Разлика между 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, както следва
- HDFS е разпределена файлова система, която е много подходяща за съхранение на големи файлове. Но HBase, от друга страна, е изграден върху HDFS и осигурява бързи търсения (и актуализации) на записи за големи таблици.
- HDFS е базиран на файловата система GFS. Но HBase се разпространява - използва HDFS за съхранение, колона - ориентирана, многоизмерна (версии) и система за съхранение
- HDFS използва HIVE като един от своите компоненти за езика на заявката, който е HIVE Query Language (HQL), но Hbase НЕ е SQL база данни, което означава: - Няма присъединявания, няма машина за заявки, няма типове данни, няма (дяволски) SQL, няма схема и няма нужда от DBA.
- Тъй като HDFS е разпределена единица за съхранение, следователно нямате специфичен език, освен командите, използвани като аромат UNIX като например: - Hadoop dfs -mkdir / foodir
- hadoop dfs -cat /foodir/myfile.txt
- hadoop dfs -rm /foodir/myfile.txt
Но от друга страна, Hbase има собствен интерфейс под формата на Hbase Shell като например: -
- hbase (main): 003: 0> създаване на 'test', 'cf'
0 ред (и) за 1.2200 секунди
- hbase (main): 004: 0> поставете 'test', 'row1', 'cf: a', 'value1'
0 ред (и) за 0.0560 секунди
- hbase (main): 005: 0> поставете 'test', 'row2', 'cf: b', 'value2'
0 ред (и) за 0.0370 секунди
- hbase (main): 006: 0> поставете 'test', 'row3', 'cf: c', 'value3'
0 ред (и) за 0, 0450 секунди
- 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
Основа за сравнение | HDFS | HBase |
Защо имаме нужда от тях | Трябва да обработите огромни набори от данни на големи клъстери от компютри | 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. Можете също да разгледате следните статии, за да научите повече -
- HBase срещу Cassandra - кой е по-добър (Инфографика)
- Разберете 7-те най-добри разлики между Hadoop срещу HBase
- Топ 12 Сравнение на Apache Hive с Apache HBase (Инфографика)