Apache Cassandra vysvětlena za 5 minut nebo méně

Apache Cassandra je open-source distribuovaná databáze NoSQL.

Co je Apache Cassandra?

Než byl Apache Cassandra vytvořen jako open source, byl původně navržen na Facebooku (nyní Meta), aby kombinoval funkce Amazon DynamoDB a Bigtable od Googlu.

Je široce používán společnostmi jako Netflix, Uber a Facebook kvůli jeho vysoké dostupnosti a škálovatelnosti.

Tento článek probere, jak je Apache Cassandra strukturován, jak funguje a jaké jsou různé funkce a výhody jeho používání jako součásti vašeho technologického balíku.

Co je NoSQL?

Apache Cassandra spadá do skupiny databází známých jako NoSQL databáze. Na rozdíl od relačních nebo SQL databází nepoužívají databáze NoSQL SQL nebo relace jako databáze SQL.

To vytváří výhody ve snadném použití a flexibilitě a zároveň obětuje schopnost provádět pokročilejší dotazy. Databáze NoSQL i SQL však mají svá místa, kde každá září.

Jak Apache Cassandra funguje?

Cassandras běží pomocí Cassandra Query Language (CQL), který je syntakticky velmi podobný Structured Query Language (SQL) používanému relačními databázemi.

Nepodporuje však určité funkce, jako je spojení, které má většina relačních databází. Je to proto, že Cassandra je databáze založená na dotazech. To znamená, že databáze je navržena na základě dotazů, které budou provedeny.

  Jak se připojit k testovací schůzce zoomu

Poté jsou vytvořeny tabulky, které poskytují dostatek dat pro každý dotaz, aniž by bylo nutné spojovat více tabulek. Díky tomu je to rychlé. Lze jej nainstalovat na všechny hlavní operační systémy.

Architektura Cassandra

Na nejzákladnější úrovni se Cassandra skládá z uzlů. Data jsou uložena v uzlech a všechny záznamy se stejným klíčem jsou uloženy ve stejném uzlu. Díky tomu je provádění dotazů rychlejší než v databázích SQL, kde může na více počítačích běžet více tabulek.

Zdroj: cassandra.apache.org

Data jsou replikována mezi uzly pro vysokou dostupnost pomocí faktoru replikace určeného tvůrcem databáze. Skupina uzlů uchovávajících veškerá data v databázi se nazývá datové centrum.

Skupina datových center tvoří klastr. Mít více datových center znamená, že data jsou vždy k dispozici, i když jedno datové centrum nečekaně přejde do režimu offline.

Vlastnosti Apache Cassandra

Mezi nejdůležitější a odlišující faktory Apache Cassandra a dalších možností na trhu patří, že je:

#1. Open-Source

Apache Cassandra je zdarma a s otevřeným zdrojovým kódem. To znamená, že zdrojový kód je dostupný online, což snižuje pravděpodobnost, že obsahuje chyby a zranitelnosti, které ještě nebyly objeveny a opraveny.

To je důležité, protože uživatelská a obchodní data jsou důležitým majetkem, který by měl být chráněn.

#2. Používá Wide-Column Architecture

Na rozdíl od většiny databází, které ukládají data do souborů v závislosti na tabulce, ve které jsou data, Apache Cassandra ukládá podle sloupců.

  Jak rozmazat fotografii na iPhone

Díky tomu je hledání hodnoty ve sloupci rychlejší, protože nemusí hledat celý řádek. Výsledkem je, že Cassandra je vyhledávání dat stejně rychlé jako použití indexů v jiných databázích.

#3. Distribuováno

Apache Cassandra je distribuován, což znamená, že neběží na jednom počítači. To pomáhá zajistit vysokou dostupnost dat, protože jsou replikována napříč různými uzly a datovými centry. Umožňuje také rychlejší přístup k datům, když jsou datová centra geograficky blíže k uživateli.

#4. Query-First Design

V tradičním návrhu databáze jsou tabulky modelovány kolem entit. Prostřednictvím normalizace se pak v databázích navazují a vytvářejí vztahy mezi těmito entitami.

Často při dotazování vztahy zahrnují více tabulek. Když jsou tyto tabulky uloženy na různých počítačích, může být přístup k datům pomalý.

S Cassandrou však sestavujete tabulky na základě dotazů, které hodláte zadat. Všechna data potřebná ke splnění tohoto dotazu jsou pak uložena v jedné tabulce.

Výhody Apache Cassandra

  • Je zdarma: Samotný systém správy databází je zdarma a lze jej stáhnout z oficiálních stránek Apache Cassandra. Serverová infrastruktura, na které databáze běží, však není.
  • Vysoce dostupné: Apache Cassandra je navržen s ohledem na odolnost. Je navržen s dostatečnou redundancí, aby zůstal funkční, když části databáze přejdou do režimu offline.
  • Je škálovatelný: Do databáze lze přidat další uzly a kapacitu úložiště lze rozšířit s malými nebo žádnými prostoji. To je ideální pro vytváření velkoobjemových aplikací.
  • Je rychlejší: Díky architektuře širokých sloupců a návrhu na prvním místě dotazu může Apache Cassandra pracovat rychleji ve srovnání s jinými systémy pro správu databází.
  Oprava Vizio Remote nefunguje

Nyní prozkoumáme některé z nejlepších výukových zdrojů k pochopení Apache Cassandra.

Výukové zdroje

#1. Apache Cassandra: Vše, co potřebujete vědět

Tento kurz Udemy na Apache Cassandře vás provede lekcemi pro začátečníky i profesionály pokrývajícími témata od teoretického přehledu Cassandry až po Cassandra Query Language.

Jediným požadavkem pro tento kurz je znalost databází obecně a systémů Linux.

#2. Staňte se certifikovaným vývojářem Cassandra: praktické zkoušky

Tento certifikační kurz obsahuje dvě zkoušky, které vám pomohou připravit se a procvičit se na certifikační zkoušku Apache Cassandra Developer Certification na Datastax Academy.

Každá zkouška trvá devadesát minut a pokrývá témata z architektury, modelování a Cassandra Query Langauge. Ideálním publikem pro tento kurz jsou vývojáři, kteří již Cassandru znají, ale chtějí získat profesionální certifikace.

#3. Apache Cassandra Essentials

Tato kniha pro vývojáře vás naučí, jak začít s Apache Cassandra. Učí čtenáře nainstalovat Cassandru a nastavit databázový cluster. Dále se naučíte Cassandra Query Language pro interakci s vaší databází.

Dozvíte se také o nástrojích, které můžete použít ke sledování clusteru a ladění dotazů. Je ideální pro někoho, kdo nikdy předtím s Cassandrou nepracoval a chce začít.

#4. Zvládnutí Apache Cassandry

Tato kniha, napsaná pro lidi s určitými předchozími znalostmi o Cassandře, učí čtenáře psát efektivnější programy Cassandra a konfigurovat Cassandru tak, aby byla výkonnější.

Kromě toho učí, jak integrovat Apache Cassandra s Apache Spark pro vytváření systémů pro analýzu dat.

Závěrečná slova

Apache Cassandra je výkonná volba pro databáze ve velkých distribuovaných systémech. Jeho spolehlivost, škálovatelnost a rychlost z něj činí oblíbenou volbu mezi technologickými giganty.

Učení se a zvládnutí této databáze vás vybaví dovednostmi vytvářet softwarové systémy, které spolehlivě slouží milionům uživatelů.

Dále se můžete podívat na monitorovací nástroje Apache Cassandra, abyste mohli sledovat výkon databáze.