What is Apache HBase and when should you use it?

Prezentare generală: Apache HBase can be defined as the Hadoop database. It is a distributed, non-relational and open source database written in Java. It is developed based on the Google BigTable framework and runs on HDFS (Hadoop distributed file system). Apache HBase este utilizat atunci când aveți o cerință de aleatoare, acces în timp real la volumul mare de date. HBase este un candidat potrivit, atunci când ai sute de milioane sau miliarde de rânduri și suficient de hardware pentru a sprijini-l. După cum HBase se bazează pe HDFS și HDFS funcționează bine atunci când există minim 5 noduri de date. Deci, pe scurt, HBase este un "depozit de date’ cadru de tip care este distribuit și adecvat pentru procesarea volum mare de date.

În acest articol voi explica detaliile arhitecturale cu conceptele.

Introducere: Apache HBase este un sistem de management al bazelor de date orientate pe o coloană NoSQL, care rulează pe partea de sus a HDFS. HBase nu acceptă structurate limbaj de interogare cum ar fi SQL. aplicatii HBase sunt toate sarcinile MapReduce și scrise în Java. HBase suportă aplicații scrise în ODIHNA, Cumpătare și Avro. Unele dintre cele mai importante caracteristici din HBase sunt enumerate mai jos.

• HBase sprijină sharding automată.
• HBase suportă HDFS ca și stocarea distribuită.
• HBase sprijină MapReduce pentru prelucrarea paralelă a volumului imens de date.
• HBase are suport pentru API-uri client Java.
• HBase sprijină citire puternic consecventă și operațiunile de scriere. Este potrivit pentru contor de agregare de mare viteză.

Diferența între HBase și HDFS: Am descris că HBase se bazează pe partea de sus a HDFS. Așa că s-ar putea avea o confuzie că HDFS și HBase similare. Dar trebuie să ne amintim că HDFS nu este un simplu sistem de fișiere, mai degrabă este o stocare distribuită adecvat pentru depozitarea volum mare de date. HDFS nu are suport pentru înregistrare rapid privi în sus pentru un volum mare de date. Dar, HBase lucrează pe partea de sus a HDFS și oferă uite rapid și actualizare.

Când ar trebui să utilizați HBase?
HBase este un tipic NoSQL și date columnare magazin. Selectarea unei baze de date NoSQL și RDBMS depinde de cerința de aplicare. Așa că mai întâi, ar trebui să înțelegem cerința în mod clar și apoi selectați baza de date. Dacă tocmai selectați un NoSQL DB, fără o analiză corespunzătoare, atunci s-ar putea cauza probleme pentru tine. Și va fi, de asemenea, o utilizare abuzivă a tehnologiei și a resurselor. În urma sunt câteva aspecte pe care ar trebui să fie luate în considerare pentru selectarea unui NoSQL DB cum ar fi HBase.

Volum: Volumul de date este primul criteriu pentru selectarea unui NoSQL DB. Ar trebui să aveți date fără sfârșit (milioane sau miliarde de rânduri) la un proces și magazin. Dacă aveți doar câteva mii sau milioane de rânduri, atunci RDBMS tradiționale este cea mai bună potrivire. Dar, dacă selectați HBase pentru o cantitate mică de date, atunci datele vor acumula într-un singur nod și celelalte noduri din cluster-ul va sta inactiv.

suport hardware: HDFS îndeplinește eficient atunci când există cel puțin 5 noduri de date. După cum știm că HBase se bazează pe HDFS, deci ar trebui să aibă suport hardware suficient pentru punerea în aplicare a HBase DB.

Nu este nevoie de caracteristici RDBMS: Asigurați-vă că aplicația nu are nevoie de caracteristici suplimentare oferite de tipic RDBMS. Caracteristici avansate, cum ar fi tranzacție, interogare complexă, declanșatoare nu sunt susținute de HBase. Deci, acesta este un alt criteriu important de selecție.

HBase Concepte de proiectare:
Conceptele de design din spatele HBase sunt similare cu HDFS și cadru MapReduce. Toate lucrările într-un mediu distribuit, design-ul general se bazeaza pe arhitectura master-slave. HDFS funcționează pe nodurile NameNode și slave, MapReduce lucrează pe sclavi JobTracker și TaskTracker. În mod similar, HBase are următoarea arhitectură master sclav.

  • nod principal gestionează cluster-ul.
  • stochează date de masă servere de regiune și de lucru pe datele.

Pe măsură ce nodul principal este controlerul principal, HBase este foarte sensibil la pierderea nodului său de master.

HBase Vizualizări: HBase are o vedere tabelar pentru stocarea datelor. Conceptul de principal se bazează pe familia coloană. Tabelul HBase este format din rânduri, coloane și fiecare coloană aparține unei familii coloană. Cheia de rând tabelă este cheia primară pentru acces de masă. Cheia de rând poate fi orice, iar rândurile sunt sortate dupa-cheie rând. Următoarele sunt cele două puncte de vedere care descriu conceptele.

Vezi conceptual: În această secțiune voi explica punctul de vedere conceptual prin luarea, de exemplu,. Tabelul conține familii de coloane și familii de coloane conțin coloane. Convenția este că o coloană este format din trei părți – nume de familie coloană, prefix și coloana nume. Caracterul de colon (:) delimiteaza familia pe coloană și coloana. Lasă-mă să iau un exemplu, numele tabelului este "hbasetable’ având în colfamily1 două familii coloana "’ and ‘colfamily2’. "Colfamily1’ are numele două coloane "’ și "adresă". "Colfamily2’ are o singură coloană "telno". Deci, structura va fi după cum se arată mai jos.

Masa "hbasetable’

colfamily1: nume = “Ricardo”

colfamily1: adresă = “MA, Statele Unite ale Americii”

colfamily2: telno = “2235678”

Punctul de vedere tabelar va arata ca mai jos.

cheie rând Ștampila de timp ColumnFamily colfamily1 ColumnFamily colfamily2
"Rowkey1" T1 colfamily2: telno = “2235678”
"Rowkey2" T2 colfamily2: telno = “9995678”
"Rowkey3" T3 colfamily2: telno = “8896578”
"Rowkey4" T4 colfamily1: nume = “Ricardo”
"Rowkey5" T5 colfamily1: adresă = “MA, Statele Unite ale Americii”

Masa 1: tabelara a 'hbasetable'

Vizualizare fizică: Am discutat deja punctul de vedere conceptual al tabelului HBase și conținutul său. Dar punctul de vedere fizic este un pic diferit. Fizic, tabelele HBase sunt stocate pe o bază de familie coloană. Astfel încât noile coloane pot fi adăugate cu ușurință, fără nici o notificare prealabilă. Această facilitate adaugă flexibilitatea de scalabilitate liniare pe care le-am discutat mai devreme.

În urma sunt tabelara a două familii de coloane.

cheie rând Ștampila de timp ColumnFamily colfamily1
"Rowkey4" T4 colfamily1: nume = “Ricardo”
"Rowkey5" T5 colfamily1: adresă = “MA, Statele Unite ale Americii”

Table2: Se afișează colfamily1

 

cheie rând Ștampila de timp ColumnFamily colfamily2
"Rowkey1" T1 colfamily2: telno = “2235678”
"Rowkey2" T2 colfamily2: telno = “9995678”
"Rowkey3" T3 colfamily2: telno = “8896578”

Tabelul 3: Se afișează colfamily2

Vă rugăm să rețineți că celulele goale afișate în vedere conceptuală nu sunt de fapt stocate. Depozitarea este permisă numai pentru o structură de stocare orientată pe coloană. Așa că, dacă vom interoga unele date la anumite intervale de timp ștampila "T1’ from ‘colfamily1’, atunci s-ar intoarce nimic. Același lucru este adevărat pentru "colfamily2’ de asemenea, toate timbrele timp sunt stocate într-o ordine descrescătoare. valoare, astfel cel mai recent dintr-o anumită coloană ar fi returnată dacă nicio ștampilă de timp este menționat într-o interogare.

Concluzie: Înainte de a încheia discuția, ar trebui să țină cont de faptul că HBase este o sursă deschisă, NoSQL distribuite de baze de date adecvate pentru depozitarea și procesarea de date fără sfârșit cantitate. Acesta este dezvoltat în cadrul proiectului Apache Hadoop și bazat pe cadru HDFS. operațiuni HBase sunt toate sarcinile MapReduce care se execută într-un mod paralel. Conceptul de bază este aceeași ca Bigtable de la Google. Selectarea bazei de date NoSQL ar trebui să fie făcut cu atenție. Design-ul de proiectare RDBMS și NoSQL este complet diferit de date, astfel de portare de la RDBMS HBase nu este posibil. Intregul design trebuie sa fie schimbat la trecerea de la RDBMS la NoSQL HBase.

Tagged on:
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share