HBase vs Cassandra - Care este mai bun (Infografie)

Cuprins:

Anonim

Diferența dintre HBase și Cassandra

HBase este o bază de date care utilizează sistemul de fișiere distribuit Hadoop pentru stocarea sa. HBase este o parte importantă a HDFS și rulează pe partea de sus a Hadoop Cluster. HBase nu este o bază de date relațională tradițională, ci necesită abordări diferite de modelare a datelor. Cassandra lucrează la modelul de replicare a datelor, astfel încât în ​​cazul indisponibilității vreunui nod nu va fi pierdere de date. Cassandra este o bază de date distribuită înseamnă că datele pot fi accesate de un client din orice cluster și de la orice nod

1.1) Cassandra:

Acesta a fost pornit de Facebook pentru că este întotdeauna conform cerinței aplicației. Cassandra a fost începută în 2005 și pusă la dispoziția publicului în 2008. Cassandra a fost dezvoltată pentru aplicații permanente, cum ar fi rețelele sociale precum Facebook și Twitter.

Cassandra lucrează la arhitectura „mereu pornită” și având un model de nod activ-activ, astfel încât nu există SPoF (punct unic de eșec). CQL (Cassandra Query Language) este limbajul de interogare al lui Cassandra, dar care are sintaxa la fel ca SQL. Suporta toate sistemele de operare majore precum Linux, Unix, OSX și Windows.

Mereu pe:

Cassandra este o bază de date cu un model de distribuție și toate nodurile sunt aceleași în cadrul clusterului. Datele sunt replicate pe nodurile configurabile, deci în cazul eșecului unora nr. din noduri nu va rezulta pierderea datelor.

(Întotdeauna pe model)

În figura 1, toate cele patru noduri sunt în sincronizare între ele și replică datele din cluster. Toți lucrează la Modelul Active-Active, astfel încât, în cazul unei defecțiuni a nodului, nu va rezulta pierderea de date. Un client poate citi datele din restul nodului / nodurilor disponibile.

1.2) HBase:

HBase este o bază de date bazată pe NoSQL și concepută pentru procesarea interogărilor în tabele mari cu miliarde de rânduri cu milioane de coloane și rulate pe un grup de mărfuri / hardware normal. Vă oferă funcții de interogare în timp real cu viteza unui cheie / depozit de valori .

HBase se bazează efectiv pe un model de date în patru dimensiuni.

  • ID rând / cheie rând
  • Familia de coloane
  • Perechi cheie-valoare.

(Figura 2, Schema de exemple a tabelului din HBase.)

În figura 2, Tabelul este colecția Familiei de coloane și Familia de coloane este colecția de Coloane. Coloanele reprezintă colecția de perechi cheie-valoare

(Figura 3, tabel de probă în HBase)

În figura 3, familiile de coloane sunt colecția de date ale studenților Alumni și ID-urile de rând (cheile de rând) conțin rolul nr.

În realitate, tastele Row păstrează valoarea unică în raport cu datele din Familia Coloanelor. Folosind Row Key, se pot extrage toate detaliile, motive pentru care bazele de date orientate pe coloane sunt mult mai rapide decât bazele de date tradiționale.

Apache HBase poate fi utilizat pentru accesul la citire / scriere aleatoriu și oferă asistență de eșec. De asemenea, acceptă replicarea și lucrul la modelul bazei de date de distribuție.

Comparație față în față a HBase vs Cassandra (Infografie)

Mai jos este diferența de top 9 între HBase și Cassandra

Diferențe cheie între HBase și Cassandra

Mai jos sunt listele de puncte, descrieți diferențele cheie între HBase și Cassandra:

1) Pentru comunicarea cu nod intern, Cassandra folosește protocolul GOSSIP în timp ce HBase se bazează pe Zookeeper. Serviciile Protocolului GOSSIP sunt integrate cu Cassandra, cealaltă parte Zookeeper este o aplicație de distribuție complet separată.

2) În arhitectura Cassandra, toate nodurile funcționează ca nod activ, în timp ce arhitectul HBase urmează modelul de nod Master-Slave. În modelul nod activ-activ, nu există SPoF (un singur punct de eșec). În HBase, Dacă nodul Master coboară întregul cluster nu va fi accesibil.

3) HBase acceptă modelul de căutare a arborelor binare în timp ce Cassandra nu acceptă modelul B-Tree fără B-Tree, nu puteți căuta Family Column’s User pentru toți cu aniversare în aprilie, în timp ce puteți căuta pe toți cei care locuiesc în Beijing cu un Aniversare în aprilie.

4) HBase, suport C, C ++, Java, Python, Scala limbaje de scripturi în timp ce Cassandra acceptă, de asemenea, JavaScript și Ruby.

5) HBase are o caracteristică numită coprocesoare, în timp ce Cassandra nu are o caracteristică deocamdată. Coprocesoarele oferă o bibliotecă și un mediu de rulare pentru executarea codului de utilizator în cadrul serverului regiunii HBase și a proceselor master.

6) HBase este conceput pentru a sprijini Data Storage, în timp ce Cassandra va fi perfectă pentru rularea aplicațiilor, precum aplicațiile Web și mobile.

7) Limbajul de interogare HBase este un limbaj personalizat care trebuie învățat în timp ce Cassandra folosește propriul său CQL dezvoltat (Cassandra Query Language), care este un limbaj similar SQL

8) Administrarea Cassandra este mult mai ușoară decât HBase. În Cassandra, un singur proces Java trebuie să fie rulat pe nod, în timp ce pentru HBase, HDFS complet operațional, mai multe procese HBase și un sistem Zookeeper este necesar.

9) HBase face sume de final și de reechilibrare automată în timp ce Cassandra nu acceptă reechilibrarea totală a clusterului.

10) Bazat pe „ teorema CAP”, Cassandra lucrează la modelul AP în timp ce HBase este modelul CP.

Teorema CAP

Această teoremă este folosită pentru sisteme distribuite. C înseamnă consistență, A înseamnă că disponibilitatea și P este toleranța partițiilor. Teorema PAC explicată mai jos:

C (Coerență): Coerența înseamnă că, dacă cineva a scris o valoare într-o bază de date, alții pot citi imediat aceeași valoare.

A (Disponibilitate) : Disponibilitate înseamnă dacă unele noduri nu sunt disponibile în clusterul dvs. (Nodurile au fost reduse / nu au locuit în cluster din cauza unor probleme) nu vor avea impact asupra întregului cluster și sistemul / Baza de date distribuită va fi disponibilă pentru a accesa datele. Clusterul va fi accesibil pentru toate activitățile.

P (Toleranța partițiilor): Toleranța partițiilor înseamnă că One Data Center scade în continuare, care nu ar trebui să afecteze datele prezentate pe noduri și toate datele ar trebui să fie accesibile în orice moment. Mijloace, toleranța la partiție permite o replicare mai bună a datelor în alte centre de date, precum și în mediul cluster.

Tabelul de comparare HBase vs Cassandra

puncteHBaseCassandra
Teorema CAPConsistență și disponibilitateDisponibilitate și toleranță la partiție
coprocessordaNu
ReechilibrareaHBase oferă reechilibrare automată în cadrul unui cluster.De asemenea, Cassandra oferă reechilibrare, dar nu și pentru clusterul general
Model de arhitecturăSe bazează pe modelul de arhitectură Master-SlaveCassandra se bazează pe Modulul nod activ activ
Baza bazei de dateSe bazează pe Google BigTableCassandra se bazează pe Amazon DynamoDB
SPoF (un singur punct de eșec)Dacă nu este disponibil Master Node, întregul cluster nu va fi accesibilToate nodurile având același rol în cluster, astfel încât nu există SPoF
DR (recuperare în caz de dezastre)DR este posibil dacă sunt configurate două noduri principale.Da, ca toate nodurile având același rol
Compatibilitate HDFSDa, întrucât HBase stochează toate meta-datele în HDFSNu
consecvențăPuternicNu este puternic ca HBase

Concluzie - HBase vs Cassandra

Facebook și o altă parte a rețelelor sociale ar prefera HBase (mai devreme ambele foloseau Cassandra, referiți la postarea Facebook) datorită disponibilității sale, celălalt sector al domeniului bancar caută securitate pentru fiecare tranzacție financiară, astfel încât să o selecteze pe Cassandra pe HBase.

Caracteristicile cheie Cassandra implică disponibilitate ridicată, administrare minimă și HBase (SPP) (punct de eșec unic) nu sunt bune pentru citirea și scrierea rapidă a datelor cu scalabilitate liniară.

Companii precum Verizon, Bloomberg, Bank of America și multe altele folosesc HBase, iar Cassandra este folosită de site-uri de rețele sociale majore precum Twitter, Facebook, etc.

Nu putem concluziona care este cel mai bun, HBase și Cassandra au ambii propriul avantaj și dezavantaje. Performanțele actuale ale bazelor de date HBase și Cassandra pot fi observate în mediul de producție.

Articole recomandate:

Acesta a fost un ghid pentru HBase vs Cassandra, semnificația lor, comparația dintre cap și cap, diferențele cheie, tabelul de comparare și concluzii. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Hadoop vs Apache Spark - Lucruri interesante pe care trebuie să le știi
  2. Cum să spargi interviul dezvoltatorului Hadoop?
  3. Top 5 mari tendințe de date
  4. 5 provocări ale analizelor de date mari