Diferența dintre HDFS și HBase

HDFS (sistem de fișiere distribuite Hadoop) HDFS vă permite să stocați cantități imense de date într-o manieră distribuită și redundantă, care rulează pe hardware-ul de marfă. HBase (baza de date Hadoop) este o bază de date NoSQL care rulează în topul clusterului Hadoop

Haideți să aruncăm o privire asupra componentelor și arhitecturii HDFS și respectiv a HBase:

Componentele HDFS

  • NameNode
  • DataNode

NameNode: NameNode poate fi considerat un master al sistemului. Menține arborele sistemului de fișiere și metadatele pentru toate fișierele și directoarele prezente în sistem. Două fișiere „Imagine spațiu de nume” și „jurnal de editare” sunt utilizate pentru a stoca informații despre metadate. Namenode cunoaște toate nodurile de date care conțin blocuri de date pentru un fișier dat, cu toate acestea, nu stochează persistent locațiile blocului. Aceste informații sunt reconstruite de fiecare dată din nodurile de date la pornirea sistemului.

DataNode: DataNodes sunt sclavi care locuiesc pe fiecare mașină dintr-un cluster și asigură stocarea propriu-zisă. Este responsabil de servirea, citirea și scrierea cererilor pentru clienți.

Arhitectură HDFS: -

Componentele HBase: -

  • Hbase maestru
  • Server de regiune
  • Regiune
  • Ingrijitor zoo

HMaster : Este serverul Master în arhitectura HBase. Agentul de monitorizare monitorizează toate Server Server și, de asemenea, este responsabilitatea HMaster să fie interfața pentru toate schimbările de metadate. Se rulează pe NameNode.

Servere de regiuni: Când Server Server primește scrieri și citesc solicitări de la client, acesta atribuie cererea unei anumite regiuni, unde rezidă familia de coloane. Cu toate acestea, clientul poate contacta direct cu serverele de regiune, nu este nevoie de permisiunea obligatorie a clientului HMaster cu privire la comunicarea cu serverele regionale. Clientul necesită ajutor HMaster atunci când sunt necesare operații legate de metadate și schimbări de schemă.

Regiuni: Regiunile sunt elementele de bază ale clusterului HBase care constă în distribuirea tabelelor și sunt formate din familii de coloane. Conține mai multe magazine, unul pentru fiecare familie de coloane. Se compune în principal din două componente, care sunt Memstore și Hfile.

ZooKeeper: În Hbase, Zookeeper este un server de monitorizare centralizat care menține informații de configurare și oferă sincronizare distribuită. Sincronizarea distribuită este de a accesa aplicațiile distribuite care rulează pe cluster cu responsabilitatea de a furniza servicii de coordonare între noduri. Dacă clientul dorește să comunice cu regiunile, clientul serverului trebuie să se apropie mai întâi de ZooKeeper.

Arhitectura HBase: - HBase este o parte a ecosistemului Hadoop.

Model în profunzime: -

Comparație față în față între HDFS și HBase (Infografie)

Mai jos este prima 14 comparație între HDFS și HBase

Diferențe cheie între HDFS și HBase

Mai jos este diferența dintre HDFS și HBase sunt următoarele

  1. HDFS este un sistem de fișiere distribuit care se potrivește bine pentru stocarea fișierelor mari. Dar HBase, pe de altă parte, este construit pe partea de sus a HDFS și oferă căutări (și actualizări) rapide pentru înregistrări pentru tabele mari.
  2. HDFS s-a bazat pe sistemul de fișiere GFS. Dar HBase este distribuit - folosește HDFS pentru stocare, coloană - Orientat pe mai multe dimensiuni, multidimensional (versiuni) și sistem de stocare
  3. HDFS folosește HIVE ca unul dintre componentele sale pentru limbajul de interogare, care este HIVE Query Language (HQL), dar Hbase NU este o bază de date SQL care înseamnă: - Nu Joins, fără motor de interogare, fără tipuri de date, fără SQL (nenorocit) SQL, No Schema și nu este nevoie de DBA.
  4. Deoarece HDFS este o unitate de stocare distribuită, prin urmare, nu au un limbaj specific, în afară de comenzile utilizate precum aroma UNIX, de exemplu: - Hadoop dfs -mkdir / foodir
  5. hadoop dfs -cat /foodir/myfile.txt
  6. hadoop dfs -rm /foodir/myfile.txt

Pe de altă parte, Hbase are propria sa interfață sub forma Hbase Shell, de exemplu: -

  1. hbase (principal): 003: 0> creați 'test', 'cf'

0 rând (e) în 1.2200 secunde

  1. hbase (principal): 004: 0> pune 'test', 'rând1', 'cf: a', 'valoare1'

0 rând (e) în 0.0560 secunde

  1. hbase (principal): 005: 0> pune 'test', 'rând2', 'cf: b', 'valoare2'

0 rând (e) în 0.0370 secunde

  1. hbase (principal): 006: 0> pune 'test', 'rând3', 'cf: c', 'valoare3'

0 rând (e) în 0.0450 secunde

  1. hbase (principal): 007: 0> scanare 'test'

COLUMN ROW + CELUL

rând1 coloană = cf: a, timestamp = 1288380727188, valoare = valoare1

rând2 coloana = cf: b, timestamp = 1288380738440, valoare = valoare2

rând3 coloana = cf: c, timestamp = 1288380747365, valoare = valoare3

3 rând (e) în 0.0590 secunde

Tabelul de comparare HDFS vs HBase

Baza pentru comparațieHDFSHBase
De ce avem nevoie de eleTrebuie să procesați seturi de date uriașe pe grupuri mari de calculatoareHBase este un depozit de date distribuit orientat pe coloană, construit pe HDFS
Nodurile eșuează în fiecare zia) Eșecul este așteptat, mai degrabă decât excepțional
b) Numărul de noduri dintr-un cluster nu este constant
HBase este un proiect open source Apache al cărui obiectiv este de a oferi stocare pentru calculul distribuit Hadoop
Model de scriereNumai în anexăScrierea la întâmplare, în mod incremental
Citește modelulScanare completă de tabel, scanare tabel de partițieCitire la întâmplare, scanare în interval mic sau scanare în tabel
Model W / RHDFS este ideal pentru cazurile de utilizare de o singură dată și de cititHBase este ideal pentru scrierea și citirea la întâmplare a datelor stocate în HDFS.
Performanța stupului (SQL)Relativ foarte bineDe 4-5 ori mai lent
Depozitare structuratăFă-o singur sau TSV sau fișier de secvențăModel de date despre familia de coloane reduse
Dimensiunea maximă a datelorÎn mod obișnuit, se pot depozita aproape 30 PBAproximativ aproximativ 1 PB
Modificări dinamiceHDFS are o arhitectură rigidă care nu permite modificări. Nu facilitează stocarea dinamică.HBase permite schimbări dinamice și poate fi utilizat pentru aplicații individuale.
Distribuția datelorDatele sunt stocate într-o manieră distribuită pe nodurile dintr-un cluster. Datele sunt împărțite în blocuri și apoi sunt stocate pe nodurile prezente în clusterul HDFS.Tabelele sunt distribuite pe cluster prin regiuni, iar regiunile sunt împărțite și distribuite automat odată cu creșterea datelor
Stocare a datelorToate datele sunt stocate sub formă de fișiere mici și toate fișierele au o dimensiune tipică de 64 MB (care este 128 MB în versiunea mai nouă)Toate datele sunt stocate sub formă de tabele, rânduri și coloane
Modelarea datelorÎn HDFS folosim tehnica Map Reduce care împarte fișierele în perechi Key - ValueHBase se bazează pe modelul Google Bigtable care folosește și perechi Key-Value
OperațiuniAre operații de latență ridicatăAre operații de latență scăzută
AccesibilitateEste accesat în primul rând prin joburi MR (Map Reduce)Poate fi accesat prin comenzi shell, API-ul client în Java, REST, Avro sau Thrift

Concluzie - HDFS vs HBase

În concluzie generală, atât HDFS cât și HBase au propriile tehnologii minunate. Ambele HDFS și HBase au fost create pentru a stoca Big Data și pentru a facilita accesarea și calcularea acestora. Atât HDFS cât și HBase merg cot la cot, întrucât un HDFS stochează datele, celălalt HBase pune o schemă asupra datelor despre cum să stocheze și să le recupereze mai târziu pentru utilizarea clientului.

Hbase este una dintre bazele de date distribuite orientate pe coloane NoSql disponibile în fundația apache. HBase oferă mai multe performanțe pentru regăsirea mai puține înregistrări decât Hadoop sau Hive. Este foarte ușor să căutați orice valoare de intrare, deoarece acceptă indexarea, tranzacțiile și actualizarea.

Putem efectua analize online în timp real folosind Hbase integrată cu ecosistemul Hadoop. Are o ascuțire automată și configurabilă pentru seturi de date sau tabele și oferă API-uri ținute pentru a efectua lucrările MapReduce.

Articol recomandat

Acesta a fost un ghid pentru HDFS vs HBase, semnificația lor, comparația dintre cap și cap, diferențele cheie, tabelul de comparare și concluzii. acest articol are toată diferența utilă între HDFS și HBase. Puteți, de asemenea, să vă uitați la următoarele articole pentru a afla mai multe -

  1. HBase vs Cassandra - Care este mai bun (Infografie)
  2. Aflați cele mai bune 7 diferențe dintre Hadoop și HBase
  3. Top 12 Comparație dintre Apache Hive și Apache HBase (Infografie)

Categorie: