HBase vs Cassandra - který z nich je lepší (Infografika)

Obsah:

Anonim

Rozdíl mezi HBase a Cassandrou

HBase je databáze, která pro své úložiště používá distribuovaný systém souborů Hadoop. HBase je důležitou součástí HDFS a běží na vrcholu Hadoop Cluster. HBase není tradiční relační databáze, vyžaduje odlišný přístup k modelování dat. Cassandra pracuje na modelu replikace dat, takže v případě nedostupnosti jakéhokoli uzlu nedojde ke ztrátě dat. Cassandra je distribuovaná databáze, což znamená, že klient může přistupovat k datům z libovolného klastru a z libovolného uzlu

1.1) Cassandra:

Byl založen Facebookem, protože je vždy na požadavku aplikace. Cassandra byla zahájena v roce 2005 a zpřístupněna veřejnosti v roce 2008. Cassandra byla vyvinuta pro aplikace, jako jsou sociální sítě jako Facebook a Twitter.

Cassandra pracuje na architektuře „vždy zapnuto“ a má model uzlu Active-Active, takže neexistuje žádný SPoF (jediný bod selhání). CQL (Cassandra Query Language) je Cassandraův dotazovací jazyk, ale má stejnou syntaxi jako SQL. Podporuje všechny hlavní operační systémy, jako jsou Linux, Unix, OSX a Windows.

Vždy na:

Cassandra je databáze s distribučním modelem a všechny uzly jsou v klastru stejné. Data jsou replikována na konfigurovatelných uzlech, takže v případě selhání některých ne. uzlů nebude mít za následek ztrátu dat.

(Vždy na modelu)

Na obrázku 1 jsou všechny čtyři uzly vzájemně synchronizovány a replikují data v klastru. Všichni pracují na modelu Active-Active, takže v případě selhání uzlu nebude mít za následek ztrátu dat. Klient může číst data ze zbytku dostupného uzlu / uzlů.

1.2) HBase:

HBase je databáze založená na NoSQL a je navržena pro zpracování dotazů ve velkých tabulkách, které mají miliardy řádků s miliony sloupců a běží přes klastr komoditního / normálního hardwaru. Poskytuje vám možnosti dotazů v reálném čase s rychlostí ukládání klíčů / hodnot .

HBase ve skutečnosti založil / pracuje na čtyřrozměrném datovém modelu.

  • ID řádku / klíč řádku
  • Sloupová rodina.
  • Páry klíč-hodnota.

(Obrázek 2, Příklad schématu tabulky v HBase.)

Na obrázku 2 je tabulka kolekce sloupců a rodina sloupců je kolekce sloupců. Sloupce jsou kolekce párů klíč-hodnota

(Obrázek 3, tabulka vzorků v HBase)

Na obrázku 3 jsou rodiny sloupců sbírka dat absolventských studentů a ID řádků (řádkové klíče) obsahují číslo studenta.

Řádkové klíče ve skutečnosti drží jedinečnou hodnotu proti datům sloupců. Pomocí Řádkového klíče lze extrahovat celé podrobnosti, důvody, proč jsou sloupcově orientované databáze mnohem rychlejší než tradiční databáze.

Apache HBase lze použít pro náhodný přístup ke čtení a zápisu a poskytuje podporu při selhání. Podporuje také replikaci a práci na modelu distribuční databáze.

Srovnání hlava-hlava OF HBase vs Cassandra (infografika)

Níže je uveden top 9 rozdíl mezi HBase vs. Cassandra

Klíčové rozdíly mezi HBase a Cassandrou

Níže jsou uvedeny seznamy bodů, popište hlavní rozdíly mezi HBase a Cassandra:

1) Pro interní komunikaci s uzly používá Cassandra protokol GOSSIP, zatímco HBase je založena na Zookeeperu. Služby protokolu GOSSIP jsou integrovány s aplikací Cassandra na druhé straně. Zookeeper je zcela samostatná distribuční aplikace.

2) V architektuře Cassandra fungují všechny uzly jako aktivní uzel, zatímco architekt HBase následuje model uzlu Master-Slave. V modelu aktivních uzlů neexistuje žádný SPoF (Single Point of Failure). Pokud v HBase klesne hlavní uzel, celý klastr nebude přístupný.

3) Podpora HBase Model vyhledávání binárních stromů, zatímco Cassandra nepodporuje model B-Tree Bez B-Tree nemůžete prohledávat rodinu uživatelů ve sloupci pro všechny s výročí v dubnu, zatímco můžete hledat každého, kdo žije v Pekingu, pomocí Výročí v dubnu.

4) HBase, podporují skriptovací jazyky C, C ++, Java, Python, Scala, zatímco Cassandra podporuje také JavaScript a Ruby.

5) HBase má jednu funkci nazývanou jako koprocesory, zatímco Cassandra tuto funkci dosud nemá. Koprocesory poskytují knihovní a běhové prostředí pro provádění uživatelského kódu v rámci serveru HBase a hlavních procesů.

6) HBase je navržen tak, aby podporoval datový sklad, zatímco Cassandra bude perfektní pro všechny spuštěné aplikace, jako jsou webové a mobilní aplikace.

7) Jazyk dotazu HBase je vlastní jazyk, který je třeba se naučit, zatímco Cassandra používá svůj vlastní vyvinutý CQL (Cassandra Query Language), což je jazyk podobný SQL

8) Správa Cassandry je mnohem jednodušší než HBase. V aplikaci Cassandra je třeba spustit jeden proces Java na uzel, zatímco pro systém HBase je vyžadován plně funkční systém HDFS, několik procesů HBase a systém Zookeeper.

9) HBase nekončí kontrolní součty a automatické vyvažování, zatímco Cassandra nepodporuje vyvažování shluku celkově.

10) Na základě „ věty CAP“ pracuje Cassandra na modelu AP, zatímco HBase je model CP.

CAP věta

Tato věta se používá pro distribuované systémy. C znamená konzistenci, A znamená, že dostupnost a P je tolerance oddílů. Veta CAP vysvětlená níže:

C (Konzistence): Konzistence znamená, že pokud někdo napsal hodnotu do databáze, ostatní mohou okamžitě přečíst stejnou hodnotu.

Odpověď (Dostupnost) : Dostupnost znamená, že pokud některé uzly nejsou ve vašem klastru dostupné (uzly se v clusteru odešly / nežijí kvůli nějakému problému), neovlivní celý klastr a pro přístup k datům bude k dispozici distribuovaný systém / databáze. Cluster bude přístupný pro všechny druhy úkolů.

P (Tolerance oddílů): Tolerance oddílů znamená, že jedno datové centrum klesá, což by nemělo mít vliv na data prezentovaná v uzlech a všechna data by měla být kdykoli přístupná. Prostředky, Oddílová tolerance umožňuje lepší replikaci dat do jiných datových center i v prostředí clusteru.

Porovnácí tabulka HBase vs. Cassandra

BodyHBaseCassandra
CAP větaKonzistence a dostupnostDostupnost a tolerance oddílů
KoprocesorAnoNe
VyvažováníHBase poskytuje automatické vyvažování uvnitř klastru.Cassandra také poskytuje vyvážení, ale ne pro celkový cluster
Model architekturyJe založen na modelu Master-Slave ArchitectureAplikace Cassandra je založena na Active-Active Node Modal
Základ databázeJe založen na Google BigTableCassandra je založena na Amazon DynamoDB
SPoF (jediný bod selhání)Pokud hlavní uzel není k dispozici, nebude k dispozici celý klastrVšechny uzly mající stejnou roli v klastru, takže žádný SPoF
DR (Disaster Recovery)DR je možné, pokud jsou nakonfigurovány dva hlavní uzly.Ano, protože všechny uzly mají stejnou roli
Kompatibilita s HDFSAno, protože HBase ukládá všechna metadata do HDFSNe
KonzistenceSilnýNení silný jako HBase

Závěr - HBase vs Cassandra

Facebook a další strana sociálních sítí by upřednostňovaly HBase (dříve oba používali Cassandra, odkazujte na Facebook post), protože její dostupnost další sektor domén postranního bankovnictví hledá zabezpečení pro každou svou finanční transakci, takže by si vybrali Cassandru před HBase.

Klíčové vlastnosti Cassandra zahrnují vysokou dostupnost, minimální administraci a bez SPoF (Single Point of Failure) na druhé straně HBase je dobrá pro rychlejší čtení a zápis dat s lineární škálovatelností.

Společnosti jako Verizon, Bloomberg, Bank of America a mnoho dalšího používají HBase a Cassandra je využívána na hlavních sociálních sítích, jako jsou Twitter, Facebook atd…

Nemůžeme usoudit, který je nejlepší, HBase a Cassandra mají svou vlastní výhodu i nevýhody. Skutečný výkon databází HBase a Cassandra lze vidět v produkčním prostředí.

Doporučené články:

Toto byl průvodce HBase vs Cassandra, jejich význam, srovnání hlava-hlava, hlavní rozdíly, srovnávací tabulka a závěr. Další informace naleznete také v následujících článcích -

  1. Hadoop vs Apache Spark - Zajímavé věci, které potřebujete vědět
  2. Jak rozbít rozhovor s vývojářem Hadoop?
  3. Top 5 velkých datových trendů
  4. 5 Výzvy analýzy velkých dat