HBase vs Cassandra - ktorý z nich je lepší (infografika)

Obsah:

Anonim

Rozdiel medzi HBase a Cassandra

HBase je databáza, ktorá na ukladanie používa distribuovaný systém súborov Hadoop. HBase je dôležitou súčasťou HDFS a beží na vrchole klastra Hadoop. HBase nie je tradičná relačná databáza, vyžaduje odlišný prístup k modelovaniu údajov. Cassandra pracuje na modeli replikácie údajov, takže v prípade nedostupnosti ktoréhokoľvek uzla nedôjde k strate údajov. Cassandra je distribuovaná databáza, čo znamená, že klient má prístup k údajom z ľubovoľného klastra az ľubovoľného uzla

1.1) Cassandra:

Začal ju Facebook, pretože je to vždy na požiadavke aplikácie. Cassandra sa začala v roku 2005 a sprístupnila verejnosti v roku 2008. Cassandra bola vyvinutá pre neustále aplikácie, ako sú sociálne siete ako Facebook a Twitter.

Cassandra pracuje na „stále zapnutej architektúre a má model aktívneho uzla, takže neexistuje SPoF (jediný bod zlyhania). CQL (Cassandra Query Language) je Cassandrov dotazovací jazyk, ale má rovnakú syntax ako SQL. Podporuje všetky hlavné operačné systémy ako Linux, Unix, OSX a Windows.

Vždy zapnutý:

Cassandra je databáza s distribučným modelom a všetky uzly sú v klastri rovnaké. Dáta sa replikujú na konfigurovateľné uzly, takže v prípade zlyhania nie. uzlov nebude mať za následok stratu údajov.

(Vždy na modeli)

Na obrázku 1 sú všetky štyri uzly navzájom synchronizované a replikujú údaje v klastri. Všetky pracujú na modeli Active-Active, takže v prípade zlyhania uzla nebude mať za následok stratu údajov. Klient môže čítať údaje zo zvyšku dostupného uzla / uzlov.

1.2) HBase:

HBase je databáza založená na NoSQL a je navrhnutá na spracovanie dotazov vo veľkých tabuľkách s miliardami riadkov s miliónmi stĺpcov a spustených v klastri komoditného / normálneho hardvéru. Poskytuje vám možnosti dotazov v reálnom čase s rýchlosťou ukladania kľúčov a hodnôt.

HBase skutočne vychádza / pracuje na štvorrozmernom dátovom modeli.

  • ID riadku / kľúč riadka
  • Rodina stĺpcov.
  • Páry kľúč - hodnota.

(Obrázok 2, Príklad schémy v tabuľke HBase.)

Na obrázku 2 je tabuľka kolekcia rodiny stĺpcov a rodina stĺpcov je kolóna stĺpcov. Stĺpce sú kolekciou párov kľúč - hodnota

(Obrázok 3, tabuľka vzoriek v HBase)

Na obrázku 3 sú rodiny stĺpcov zhromažďovanie údajov o študentoch absolventov a riadkové ID (riadkové kľúče) obsahujú identifikačné číslo študenta.

V skutočnosti majú riadkové kľúče jedinečnú hodnotu proti údajom o stĺpcoch. Pomocou riadkového kľúča je možné získať všetky podrobnosti, dôvody, prečo sú databázy orientované na stĺpce rýchlejšie ako tradičné databázy.

Apache HBase sa dá použiť na náhodný prístup na čítanie / zápis a poskytuje podporu pri zlyhaní. Podporuje aj replikáciu a prácu na modeli distribučnej databázy.

Porovnanie hlavy a hlavy HBase verzus Cassandra (infografika)

Nižšie je uvedený horný rozdiel medzi HBase a Cassandrou

Kľúčové rozdiely medzi HBase a Cassandrou

Nižšie sú uvedené zoznamy bodov, opíšte kľúčové rozdiely medzi HBase a Cassandra:

1) Pri komunikácii s vnútornými uzlami Cassandra používa protokol GOSSIP, zatiaľ čo HBase je založená na Zookeeper. Služby protokolu GOSSIP sú integrované s aplikáciou Cassandra na druhej strane. Zookeeper je úplne samostatná distribučná aplikácia.

2) V architektúre Cassandra fungujú všetky uzly ako aktívny uzol, zatiaľ čo architekt HBase sleduje model uzla Master-Slave. V modeli aktívnych uzlov neexistuje žiadny SPoF (jediný bod zlyhania). Ak v HBase klesne hlavný uzol, celý klaster nebude prístupný.

3) Podpora HBase Model prehľadávania binárnych stromov, zatiaľ čo Cassandra nepodporuje model B-Tree Bez B-Tree nemôžete hľadať rodinu stĺpcov rodiny pre všetkých s výročím v apríli, zatiaľ čo pre každého, kto žije v Pekingu, môžete vyhľadať Výročie v apríli.

4) HBase, podporuje skriptovacie jazyky C, C ++, Java, Python, Scala, zatiaľ čo Cassandra podporuje aj JavaScript a Ruby.

5) HBase má jednu funkciu nazývanú ako koprocesory, zatiaľ čo Cassandra takúto funkciu nemá. Koprocesory poskytujú prostredie knižnice a run-time pre vykonávanie užívateľského kódu v rámci servera a kmeňových procesov oblasti HBase.

6) HBase je navrhnutý tak, aby podporoval dátový sklad, zatiaľ čo Cassandra bude perfektný pre všetky aplikácie bežiace na webe, ako sú webové a mobilné aplikácie.

7) Dotazovací jazyk HBase je vlastný jazyk, ktorý sa treba naučiť, zatiaľ čo Cassandra používa svoj vlastný vyvinutý CQL (Cassandra Query Language), ktorý je jazykom podobným SQL

8) Správa Cassandry je omnoho jednoduchšia ako HBase. V systéme Cassandra je potrebné spustiť jeden proces Java na uzol, zatiaľ čo v prípade systému HBase je potrebný plne funkčný systém HDFS, niekoľko procesov v systéme HBase a systém Zookeeper.

9) HBase nekončí kontrolné súčty a automatické vyvažovanie, zatiaľ čo Cassandra nepodporuje vyvažovanie zoskupenia celkovo.

10) Na základe „Vety CAP“ pracuje Cassandra na modeli AP, zatiaľ čo HBase je model CP.

Veta CAP

Táto veta sa používa pre distribuované systémy. C znamená konzistentnosť, A znamená, že dostupnosť a P je tolerancia oddielu. Veta CAP, ktorá je vysvetlená nižšie:

C (Konzistentnosť): Konzistentnosť znamená, že ak niekto zapísal hodnotu do databázy, iní môžu okamžite prečítať tú istú hodnotu.

Odpoveď (Dostupnosť) : Dostupnosť znamená, že ak niektoré uzly nie sú vo vašom klastri k dispozícii (uzly, ktoré boli kvôli nejakému problému v klastri nadol / nežijú), nebudú mať vplyv na celý klaster a na prístup k údajom bude k dispozícii distribuovaný systém / databáza. Klaster bude prístupný pre všetky druhy úloh.

P (Oddiel oddielu): Oddiel oddielu znamená, že ak jedno dátové centrum klesne, nemalo by to mať vplyv na údaje prítomné v uzloch a všetky údaje by mali byť kedykoľvek prístupné. Prostriedky, Oddielová tolerancia umožňuje lepšiu replikáciu údajov do iného dátového centra, ako aj v prostredí klastra.

Porovnávacia tabuľka HBase vs Cassandra

bodyHBaseCassandra
Veta CAPKonzistentnosť a dostupnosťDostupnosť a tolerancia oddielu
koprocesorÁnožiadny
vyvažovanieHBase poskytuje automatické vyvažovanie v rámci klastra.Cassandra tiež poskytuje vyváženie, ale nie celkové zhluky
Model architektúryJe založený na modeli architektúry Master-SlaveCassandra je založená na Active-Active Node Modal
Základ databázyJe založený na Google BigTableCassandra je založená na Amazon DynamoDB
SPoF (jediný bod zlyhania)Ak hlavný uzol nie je k dispozícii, nebude k dispozícii celý klasterVšetky uzly, ktoré majú v rámci klastra rovnakú rolu, takže nie sú SPoF
DR (Disaster Recovery)DR je možné, ak sú nakonfigurované dva hlavné uzly.Áno, pretože všetky uzly majú rovnakú úlohu
Kompatibilita s HDFSÁno, pretože spoločnosť HBase ukladá všetky metaúdaje do systému HDFSžiadny
konzistenciasilnýNie je silný ako HBase

Záver - HBase vs Cassandra

Facebook a ďalšia strana sociálnych sietí by uprednostnili spoločnosť HBase (predtým obidve používali Cassandra, pozrite si príspevok na Facebooku), pretože jej sektor dostupnosti ďalšia oblasť bankovníctva na strane domény hľadá bezpečnosť pre každú svoju finančnú transakciu, aby si vybrali spoločnosť Cassandra pred spoločnosťou HBase.

Medzi hlavné charakteristiky Cassandry patrí vysoká dostupnosť, minimálna administrácia a žiadna strana SPoF (Single Point of Failure) na druhej strane, HBase je dobrá pre rýchlejšie čítanie a zápis údajov s lineárnou škálovateľnosťou.

Spoločnosti ako Verizon, Bloomberg, Bank of America a ešte oveľa viac používajú HBase a Cassandra používajú veľké sociálne siete ako Twitter, Facebook atď.

Nemôžeme dospieť k záveru, ktorý z nich je najlepší. HBase a Cassandra majú tak vlastnú výhodu, ako aj nevýhody. Skutočný výkon databáz HBase a Cassandra je možné vidieť vo výrobnom prostredí.

Odporúčané články:

Toto bol sprievodca pre HBase vs Cassandra, ich význam, porovnanie medzi dvoma hlavami, kľúčové rozdiely, porovnávacie tabuľky a závery. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Hadoop vs Apache Spark - zaujímavé veci, ktoré potrebujete vedieť
  2. Ako rozlúštiť rozhovor pre vývojárov Hadoop?
  3. Top 5 veľkých dátových trendov
  4. 5 Výzvy analýzy veľkých dát