Čo je liek Cassandra?

Cassandra je databáza NoSQL, ktorá je distribuovanou databázou typu peer to peer. Beží na klastri, ktorý má homogénne uzly. Je vyrobený tak, že dokáže spracovať veľké objemy údajov. Pri narábaní s týmito údajmi by malo byť tiež schopné zabezpečiť vysokú schopnosť. Cassandra poskytuje vysoké hodnoty, pokiaľ ide o operácie čítania a zápisu. Architektúra klastra Cassandra nemá žiadnych majstrov, otrokov ani konkrétnych vodcov. Týmto spôsobom sa zabezpečí, že nedôjde k jedinému bodu zlyhania. Pozrime sa podrobne na architektúru.

Cassandra Architecture

Cassandra Architecture pozostáva hlavne z uzlov, klastrov a dátových centier. Okrem nich existujú aj ďalšie komponenty. Cassandra je riadková uložená databáza. Umožňuje autorizovaným používateľom pripojenie k akémukoľvek uzlu v ľubovoľnom dátovom centre pomocou CQL.

Kľúčové štruktúry v Cassandre

Toto sú nasledujúce kľúčové štruktúry v Cassandre:

  • Uzol - tu sa ukladajú údaje. Je to najzákladnejšia súčasť Cassandry. Dá sa to považovať za jediný server v stojane. Zabezpečuje, že nedôjde k jedinému bodu zlyhania.
  • Dátové centrum - Dátové centrum je skupina uzlov. Môže to byť buď fyzická, alebo virtuálna. V závislosti od pracovného zaťaženia sú dátové centrá rozdelené a vybrané. O faktore replikácie sa rozhodne na základe dátového centra. V závislosti od tohto faktora replikácie sa údaje môžu zapisovať do rôznych dátových stredísk.
  • Klaster - Klaster pozostáva z jedného alebo viacerých dátových centier. Klastre sa zvyčajne nachádzajú na rôznych fyzických miestach.

Okrem toho sú ďalšie komponenty, ktoré hrajú úlohu v Cassandre, uvedené nižšie.

1. Potvrdiť protokol

Dáta, ktoré sú určené na udržanie trvanlivosti údajov, sú uložené v protokole potvrdenia. Dáta sa presunú do tabuľky triedených reťazcov (vysvetlené ďalej). Po dokončení tohto pohybu je možné protokol potvrdenia archivovať, vymazať alebo recyklovať.

2. Tabuľka SS

Táto tabuľka, ako je uvedená v predchádzajúcom bode, ukladá tabuľky denníka alebo pamäte v pravidelných intervaloch. Je to nemenný dátový súbor. Tabuľky SS dokážu ukladať údaje často postupne. Pripájajú údaje a udržiavajú informácie pre každú tabuľku Cassandra.

3. Tabuľka CQL

Tabuľka Cassandra Query je skupina usporiadaných stĺpcov, ktoré môžu z tejto tabuľky načítať riadok. V tejto tabuľke sú uložené stĺpce, v ktorých je možné údaje získať pomocou primárneho kľúča.

4. Bloom filter

Je to jednoduchý druh vyrovnávacej pamäte, kde sú uložené neurčité algoritmy na testovanie. Kontroluje, či je prvok členom množiny alebo nie. K týmto filtrom sa zvyčajne dostanete po každom spustenom dotaze.

Kľúčové komponenty na konfiguráciu Cassandry

V Cassandre sú tieto komponenty:

1. Klebety

  • Ako už názov napovedá, medzi kolegami musí existovať komunikácia, aby bolo možné zistiť a zdieľať polohu a stav informácií o všetkých uzloch.
  • Táto informácia by mala pretrvávať na lokálnom, aby každý uzol mohol tieto informácie použiť, len čo sa uzol musí reštartovať. Uzly zisťujú informácie o iných uzloch výmenou informácií.
  • Toto je možné vykonať maximálne na troch uzloch. Informácie sa nezdieľajú s každým uzlom nachádzajúcim sa v klastri alebo dátovom centre. Informácie sú zdieľané s niekoľkými uzlami, ale nakoniec sa informácie o stave dostanú cez klaster.

2. Rozdeľovač disku

  • Rozdeľovač rozhodne, ktorý uzol musí prijať prvú repliku akýchkoľvek údajov. Zodpovedá tiež za distribúciu týchto replík.
  • Určuje, ktorý uzol by mal mať replikáciu v klastri. Každý riadok údajov by mal byť jednoznačne identifikovaný. To sa dá dosiahnuť použitím primárneho kľúča alebo kľúča oddielu.
  • Rozdeľovač je hašovacia funkcia, ktorá pomáha získať token z primárneho kľúča ľubovoľného riadku. Každý uzol má priradenú hodnotu num_token, ktorú je možné nastaviť ako rozdeľovač.
  • Generovaná hodnota tokenu pomáha pri určovaní, ktorý uzol prijíma repliku riadkov.

3. Replikačný faktor

  • Tento faktor určuje celkový počet replík prítomných v klastri. Ak je faktor replikácie 1, potom existuje iba jedna kópia každého riadku na jednom uzle.
  • Podobne, ak je replikačný faktor dva, budú sa uchovávať dve kópie, kde je každá kópia prítomná v inom uzle. Ako už bolo spomenuté, v Cassandre neexistuje žiadna architektúra master-slave. Každá kópia je dôležitá.
  • Faktor replikácie je definovaný pre každé dátové centrum. Tento faktor by mal byť väčší ako jeden, ale nie väčší ako počet uzlov prítomných v klastri.

4. Snitch

  • Replikačná stratégia, ktorá pomáha pri získaní miesta, kde sa majú umiestniť repliky pre skupinu počítačov v dátovom centre a stojane, sa nazýva Snitch.
  • Existuje dynamická vrstva, ktorá pomáha pri monitorovaní a výkone a pomáha pri výbere najlepšej repliky, z ktorej je možné údaje čítať. Úspechy by sa mali konfigurovať iba pri vytvorení klastra.
  • Pre väčšinu nasadení má povolené predvolené hodnoty. Konfiguračné zmeny je možné vykonať v súbore Cassandra.yml, kde je pre každý uzol prítomná prahová hodnota dynamického viazania.

5. Merkle Tree

  • V dátových blokoch môžu byť rozdiely. Aby sa ľahko zistili rozdiely, strom Merkle je hašovací strom, ktorý v tom pomáha.
  • Uzly listov hašovacieho stromu obsahujú hashe samostatných dátových blokov a rodičovské uzly majú informácie alebo ukladajú hash svojich detí.
  • Použitím tejto techniky je ľahšie nájsť rozdiely medzi prítomnými uzlami.

6. Mem tabuľka

  • Táto tabuľka obsahuje informácie o vyrovnávacej pamäti, ktorej údaje ešte nie sú vyprázdnené a sú uložené v pamäti.

záver

Cassandra je databáza NoSQL, ktorá je užitočná pri spracovaní obrovského množstva údajov. Nemá typickú architektúru master-slave, a preto sú všetky uzly rovnako dôležité. Uzly majú repliky naprieč klastrom podľa replikačného faktora. To zaručuje konzistentnosť a trvanlivosť údajov. So všetkými týmito vlastnosťami je zrejmé, že Cassandra je veľmi užitočná pre veľké dáta. Cassandra je preto odolný, rýchly, pretože je distribuovaný a spoľahlivý.

Odporúčané články

Toto je sprievodca architektúrou Cassandra. Tu diskutujeme o úvodu, architektúre Cassandra, kľúčovej štruktúre a kľúčových komponentoch Cassandry. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Prehľad architektúry Kubernetes
  2. Čo je architektúra veľkých dát?
  3. Funkcie pridané do architektúry AutoCAD
  4. Architektúra cloud computingu

Kategórie: