HBase proti Cassandri - kateri je boljši (Infographics)

Kazalo:

Anonim

Razlika med HBase in Cassandro

HBase je podatkovna zbirka, ki za shranjevanje uporablja datotečni sistem Hadoop, ki je distribuiran. HBase je pomemben del HDFS in deluje na vrhu Hadoop grozda. HBase ni tradicionalna relacijska baza podatkov, zahteva drugačen pristop modeliranja podatkov. Cassandra deluje na modelu podvajanja podatkov, tako da v primeru, da nobeno vozlišče ni na voljo, podatkov ne bo izgubljeno. Cassandra je porazdeljena baza podatkov, kar pomeni, da lahko stranka do podatkov dostopa iz katerega koli grozda in iz katerega koli vozlišča

1.1) Cassandra:

Začel ga je Facebook, ker je vedno na zahtevi za prijavo. Cassandra je bila ustanovljena leta 2005 in je bila na voljo javnosti leta 2008. Cassandra je bila razvita za vedno aktualne aplikacije, kot so družbena omrežja, kot sta Facebook in Twitter.

Cassandra deluje na "vedno vklopljeni" arhitekturi in ima model vozlišča Active-Active, tako da ni SPoF (Single point of fail). CQL (Cassandra Query Language) je Cassandrov jezik poizvedbe, vendar ima skladnjo enako kot SQL. Podpira vse glavne OS, kot so Linux, Unix, OSX in Windows.

Vedno vklopljen:

Cassandra je baza podatkov z distribucijskim modelom in vsa vozlišča so znotraj grozda enaka. Podatki se razmnožujejo na nastavljivih vozliščih, tako da v primeru okvare nekaterih ne. vozlišč ne bo povzročilo izgube podatkov.

(Vedno na modelu)

Na sliki 1 so vsa štiri vozlišča sinhronizirana med seboj in podvajajo podatke znotraj grozda. Vsi delujejo na aktivnem aktivnem modelu, tako da v primeru okvare vozlišča ne bo izgubil podatkov. Naročnik lahko prebere podatke iz preostalih razpoložljivih vozlišč / vozlišč.

1.2) HBase:

HBase je zbirka podatkov, ki temelji na NoSQL in je zasnovana za obdelavo poizvedb v velikih tabelah z več milijardami vrstic z milijoni stolpcev in poteka preko kopice blagovne / običajne strojne opreme. Omogoča vam sprotne poizvedbe s hitrostjo " ključa / vrednosti shrambe " .

HBase dejansko temelji / deluje na štiridimenzionalnem modelu podatkov.

  • ID vrstice / ključ vrstice
  • Družina stolpcev.
  • Pari ključ-vrednost.

(Slika 2, Primer sheme tabele v HBase.)

Na sliki 2 je tabela zbirka družine stolpcev in družina stolpcev je zbirka stolpcev. Stolpci so zbirka parov Key-value

(Slika 3, Vzorčna tabela v HBase)

Na sliki 3 so družine stolpcev zbiranje podatkov študentov Alumni, ID-ji vrstice (vrstni ključi) pa vsebujejo Št.

V bistvu imajo ključi vrstice edinstveno vrednost glede na podatke o družini stolpcev. S ključem vrstice lahko izluščite celotne podrobnosti, razloge, zakaj so baze, usmerjene v stolpce, veliko hitrejše od tradicionalnih.

Apache HBase se lahko uporablja za naključni dostop za branje / pisanje in nudi podporo za neuspeh. Prav tako podpira podvajanje in delo na modelu distribucijske baze podatkov.

Primerjava med nogami HBase in Cassandra (Infographics)

Spodaj je zgornjih 9 razlik med HBase proti Cassandri

Ključne razlike med HBase proti Cassandri

Spodaj so seznami točk, opišite ključne razlike med HBase in Cassandra:

1) Za komunikacijo z notranjimi vozlišči Cassandra uporablja protokol GOSSIP, medtem ko HBase temelji na Zookeeperju. Storitve protokola GOSSIP so integrirane z drugo stranjo Cassandra Zookeeper je popolnoma ločena distribucijska aplikacija.

2) V kasandrski arhitekturi vsa vozlišča delujejo kot Active Node, medtem ko HBase arhitekt sledi modelu Master-Slave Node. V modelu Active-Active vozlišča ni SPoF (Single Point of Failure). V HBase-ju, če se glavno vozlišče spusti, celoten grozd ne bo dostopen.

3) Podpora za HBase model iskanja binarnega drevesa, medtem ko Cassandra ne podpira modela B-Tree Brez B-Treeja ne morete iskati družine uporabnikov stolpcev za vse, ki imajo aprila obletnico, medtem ko lahko iščete vse, ki živijo v Pekingu z Obletnica aprila.

4) HBase, podpora C, C ++, Java, Python, skriptni jeziki Scala, medtem ko Cassandra podpira tudi JavaScript & Ruby.

5) HBase ima eno funkcijo, imenovano kot soprocesorji, medtem ko Cassandra nima takšnih lastnosti kot zdaj. Koprocesorji zagotavljajo knjižnico in izvajalno okolje za izvajanje uporabniške kode znotraj strežnika regij HBase in glavnih procesov.

6) HBase je zasnovan za podporo podatkovnega skladišča, medtem ko bo Cassandra kot nalašč za ves čas delujoče aplikacije, kot so spletne in mobilne aplikacije.

7) HBase poizvedbeni jezik je jezik po meri, ki se ga je treba naučiti, medtem ko Cassandra uporablja svoj razvit CQL (Cassandra Query Language), ki je podoben SQL

8) Upravljanje Cassandre je veliko lažje kot HBase. V Cassandri je treba na eno vozlišče zagnati en sam Java proces, medtem ko je za HBase potreben popolnoma delujoč HDFS, več procesov HBase in sistem Zookeeper.

9) HBase zaključi kontrolne vsote in samodejno ponovno uravnoteženje, medtem ko Cassandra ne podpira ponovnega uravnoteženja grozda v celoti.

10) Cassandra na podlagi " teorema CAP" deluje na AP modelu, medtem ko je HBase CP model.

Teorem CAP

Ta izrek se uporablja za porazdeljene sisteme. C pomeni doslednost, A pomeni Razpoložljivost in P je toleranca particije. Spodaj razložen teorem CAP:

C (doslednost): Doslednost pomeni, da če je nekdo zapisal vrednost v bazo podatkov, lahko drugi takoj preberejo isto vrednost.

A (Razpoložljivost) : Razpoložljivost pomeni, da v vašem grozdu niso na voljo nekatera vozlišča (Vozlišča so se v grozdu odpravila / ne živijo zaradi določene težave) ne bo vplivala na celotno gručo in bo za dostop do podatkov na voljo razdeljeni sistem / zbirka podatkov. Grozd bo dostopen za vse vrste nalog.

P (Toleranca particije): Toleranca particije pomeni, če se en podatkovni center še vedno zniža, kar ne bi smelo vplivati ​​na predstavljene podatke na vozliščih, vsi podatki pa bi morali biti dostopni kadar koli. Sredstva, toleranca particij omogoča boljšo podvajanje podatkov v drugem podatkovnem centru kot tudi v okolju grozda.

Primerjalna tabela HBase proti Cassandri

TočkeHBaseCassandra
Teorem CAPDoslednost in razpoložljivostRazpoložljivost in toleranca particije
KoprocesorDaNe
Ponovna uravnoteženostHBase omogoča samodejno ponovno uravnoteženje znotraj grozda.Cassandra zagotavlja tudi uravnoteženje, vendar ne za celotno grozd
Arhitekturni modelTemelji na modelu arhitekture master-slaveCassandra temelji na načinu aktivnega aktivnega vozlišča
Baza podatkovTemelji na Googlu BigTableCassandra temelji na Amazon DynamoDB
SPoF (enotna točka odpovedi)Če glavnega vozlišča ni na voljo, celotna skupina ne bo dostopnaVsa vozlišča, ki imajo v grozdu enako vlogo, tako da SPoF ni
DR (reševanje po nesrečah)DR je možno, če sta nastavljeni dve glavni vozlišči.Da, saj imajo vsa vozlišča enako vlogo
Združljivost HDFSDa, saj HBase shranjuje vse metapodatke v HDFSNe
DoslednostMočnaNi močan kot HBase

Zaključek - HBase proti Cassandri

Facebook in druga družabna omrežja bi raje HBase (prej sta oba uporabljala Cassandra, glej Facebook objavo) zaradi svoje razpoložljivosti drugi strani bančnega področja iščejo varnost za vsako svojo finančno transakcijo, zato bi izbrali Cassandra nad HBase.

Cassandra Ključne značilnosti vključujejo visoko razpoložljivost, minimalno administracijo in brez SPoF (Single Point of Failure) druge strani HBase je dobra za hitrejše branje in zapisovanje podatkov z linearno razširljivostjo.

Podjetja, kot so Verizon, Bloomberg, Bank of America in še veliko več, uporabljajo HBase, Cassandra pa uporabljajo večja spletna mesta v družabnih omrežjih, kot so Twitter, Facebook itd …

Ne moremo sklepati, katera je najboljša, HBase in Cassandra imata svoje prednosti in slabosti. Dejanske zmogljivosti tako podatkovnih baz HBase kot Cassandra lahko opazimo v proizvodnem okolju.

Priporočeni članki:

To je vodnik za HBase proti Cassandri, njihov pomen, primerjava med seboj, ključne razlike, tabela primerjave in sklep. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Hadoop proti Apache Spark - zanimive stvari, ki jih morate vedeti
  2. Kako razbiti Hadoopov razvijalski intervju?
  3. Top 5 velikih podatkovnih gibanj
  4. 5 izzivi analitike velikih podatkov