Arhitectura HBase: tot ce trebuie să știți [2022]

Publicat: 2021-01-06

Atât datele structurate, cât și cele nestructurate cresc exponențial, iar Apache Hadoop și -a dovedit excelența în gestionarea unor astfel de date vaste. Prin urmare, Apache Hadoop a câștigat multă tracțiune în lumea datelor mari. Cu toate acestea, există anumite limitări ale arhitecturii HDFS a Hadoop.

HDFS produce operațiuni cu latență ridicată și nu poate gestiona un volum mare de solicitări de citire și scriere simultan. O altă limitare este că HDFS este o arhitectură scrisă o dată citită de mai multe ori, ceea ce înseamnă că trebuie să rescrie complet un fișier pentru a modifica un set de date. Aceste limitări ale arhitecturii HDFS au ridicat necesitatea arhitecturii HBase .

Cuprins

Ce este HBase?

HBase este o arhitectură de stocare a datelor orientată pe coloane, care se formează pe baza HDFS pentru a-și depăși limitările. Utilizează caracteristicile de bază ale HDFS și se bazează pe el pentru a oferi scalabilitate prin gestionarea unui volum mare de solicitări de citire și scriere în timp real. Deși arhitectura HBase este o bază de date NoSQL, ușurează procesul de menținere a datelor prin distribuirea lor uniformă în cluster. Acest lucru face accesarea și modificarea datelor din modelul de date HBase rapidă. Aflați mai multe despre HBase.

Care sunt componentele modelului de date HBase?

Deoarece modelul de date HBase este o bază de date NoSQL, dezvoltatorii pot citi și scrie cu ușurință date după cum este necesar, făcându-l mai rapid decât arhitectura HDFS. Se compune din următoarele componente:

1. Tabele HBase : Arhitectura HBase este orientată pe coloane; prin urmare, datele sunt stocate în tabele care sunt în format bazat pe tabel.

2. RowKey : O RowKey este atribuită fiecărui set de date care este înregistrat. Acest lucru facilitează căutarea unor date specifice în tabelele HBase.

3. Coloane : Coloanele sunt diferitele atribute ale unui set de date. Fiecare RowKey poate avea coloane nelimitate.

4. Familie de coloane: Familiile de coloane sunt o combinație de mai multe coloane. O singură solicitare de citire a unei familii de coloane oferă acces la toate coloanele din acea familie, ceea ce face mai rapidă și mai ușoară citirea datelor.

5. Calificatorii coloanelor : Calificatorii coloanelor sunt ca titlurile coloanelor sau numele atributelor dintr-un tabel normal.

6. Celulă : este un tuplu rând-coloană care este identificat folosind RowKey și calificatorii de coloană.

7. Timp de timp : Ori de câte ori o date este stocată în modelul de date HBase, acestea sunt stocate cu un timestamp.

Citiți: Componentele ecosistemului Hadoop

Care sunt componentele arhitecturii HBase?

Arhitectura HBase cuprinde trei componente majore, HMaster, Region Server și ZooKeeper.

1. HMaster

HMaster funcționează similar cu numele său. Este masterul care atribuie regiuni regiunii Serverului (slave). Arhitectura HBase folosește un proces Auto Sharding pentru a menține datele. În acest proces, ori de câte ori un tabel HBase devine prea lung, acesta este distribuit de sistem cu ajutorul HMaster. Unele dintre responsabilitățile tipice ale HMaster includ:

  • Controlați failover-ul
  • Gestionați serverul de regiune și clusterul Hadoop
  • Gestionați operațiunile DDL, cum ar fi crearea și ștergerea tabelelor
  • Gestionați modificările în operațiunile cu metadate
  • Gestionați și atribuiți regiuni serverelor de regiune
  • Acceptați solicitările și le trimite către serverul regional relevant

2. Server de regiune

Serverele de regiune sunt nodurile finale care se ocupă de toate solicitările utilizatorilor. Mai multe regiuni sunt combinate într-un singur server de regiune. Aceste regiuni conțin toate rândurile dintre cheile specificate. Gestionarea solicitărilor utilizatorilor este o sarcină complexă de executat și, prin urmare, serverele regionale sunt împărțite în patru componente diferite pentru a face gestionarea cererilor fără probleme.

  • Jurnal de scriere anticipată (WAL) : WAL este atașat la fiecare server regional și stochează un fel de date temporare care nu au fost încă trimise în unitate.
  • Block Cache : Este un cache de solicitare de citire; toate datele citite recent sunt stocate în cache-ul bloc. Datele care nu sunt folosite des sunt eliminate automat din stoc atunci când este plin.
  • MemStore : Este un cache de scriere responsabil pentru stocarea datelor care nu sunt încă scrise pe disc.
  • HFile : HFile stochează toate datele reale după angajament.

3. ZooKeeper

ZooKeeper acționează ca punte de legătură între comunicarea arhitecturii HBase . Este responsabil pentru ținerea evidenței tuturor serverelor de regiune și a regiunilor care se află în cadrul acestora. Monitorizarea serverelor de regiune și HMaster sunt active și care au eșuat este, de asemenea, o parte din sarcinile ZooKeeper. Când constată că o regiune de server a eșuat, declanșează HMaster să ia măsurile necesare. Pe de altă parte, dacă HMaster-ul în sine eșuează, acesta declanșează HMaster-ul inactiv care devine activ după alertă. Fiecare utilizator și chiar și HMaster trebuie să treacă prin ZooKeeper pentru a accesa serverele regionale și datele din interior. ZooKeeper stochează un fișier .Meta , care conține o listă a tuturor serverelor de regiune. Responsabilitățile ZooKeeper includ:

  • Stabilirea comunicării în clusterul Hadoop
  • Mentinerea informatiilor de configurare
  • Eșecul de urmărire a serverului regiunii și HMaster
  • Menținerea informațiilor despre serverul regiunii

Cum sunt gestionate cererile în arhitectura HBase?

Acum, din moment ce cunoaștem componentele majore ale arhitecturii HBase și funcția lor, haideți să aprofundăm în modul în care sunt gestionate cererile în întreaga arhitectură.

1. Începeți căutarea în arhitectura HBase

Pașii de inițializare a căutării sunt:

  1. Utilizatorul preia tabelul Meta de la ZooKeeper și apoi solicită locația serverului regional relevant.
  2. Apoi utilizatorul va solicita datele exacte de la serverul de regiune cu ajutorul RowKey.

2. Mecanismul de scriere în arhitectura HBase

Pașii de scriere în arhitectura HBase sunt:

  1. Clientul va trebui mai întâi să găsească serverul de regiune și apoi locația datelor pentru a le modifica. (Acest pas este implicat doar pentru conversia datelor și nu pentru scrierea de informații noi)
  2. Cererea efectivă de scriere începe la WAL, unde clientul scrie datele.
  3. WAL transferă datele către MemStore și trimite o confirmare utilizatorului.
  4. Când MemStore este umplut cu date, acesta trimite datele în HFile, unde sunt stocate.

3. Citiți Mecanismul în arhitectura HBase

Pentru a citi orice date, utilizatorul va trebui mai întâi să acceseze serverul regional relevant. Odată ce serverul de regiune este cunoscut, celălalt proces include:

  1. Prima scanare se face în memoria cache de citire, care este cache-ul Block.
  2. Următoarea locație de scanare este MemStore, care este memoria cache de scriere.
  3. Dacă datele nu sunt găsite în cache-ul bloc sau în MemStore, scanerul va prelua datele din HFile.

Cum funcționează recuperarea datelor în arhitectura HBase?

Arhitectura Hbase sparge datele prin compactare și împărțirea regiunilor pentru a reduce încărcarea de date din cluster. Cu toate acestea, dacă există o blocare și este nevoie de recuperare, iată cum se face:

  1. ZooKeeper declanșează HMaster atunci când are loc o defecțiune a serverului.
  2. HMaster distribuie regiunile prăbușite și WAL către serverele de regiune active.
  3. Aceste servere de regiune re-execută WAL și construiesc MemStore.
  4. Când toate serverele de regiune re-execută WAL, toate datele împreună cu familiile de coloane sunt recuperate.

Checkout: Ecosistem și componente Hadoop

Concluzie

Datele au devenit noul petrol în diverse industrii. Prin urmare, există mai multe oportunități de carieră în Hadoop. Puteți afla totul despre Hadoop și Big Data la upGrad .

Dacă sunteți interesat să aflați mai multe despre Hbase, Big Data, consultați programul nostru PG Diploma în Dezvoltare Software Specializare în Big Data, care este conceput pentru profesioniști care lucrează și oferă peste 7 studii de caz și proiecte, acoperă 14 limbaje și instrumente de programare, mâini practice -la ateliere, peste 400 de ore de învățare riguroasă și asistență pentru plasarea unui loc de muncă cu firme de top.

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Stăpânește Tehnologia Viitorului - Big Data

Peste 400 de ORE DE ÎNVĂȚARE. 14 LIMBAJE ȘI INSTRUMENTE. STATUT DE ALUNE IIIT-B.
Program de certificat avansat în Big Data de la IIIT Bangalore