Kaj je Cassandra?

Cassandra je baza podatkov NoSQL, ki je enakomerno razporejena baza podatkov. Teče na grozdu, ki ima homogena vozlišča. Narejena je tako, da lahko obdeluje velike količine podatkov. Z ravnanjem s temi podatki bi moral biti tudi zmožen zagotoviti visoko sposobnost. Cassandra zagotavlja visoko, kadar gre za operacije branja in pisanja. Arhitektura grozda Cassandra nima nobenih gospodarjev, sužnjev ali nobenih posebnih voditeljev. S tem načinom zagotavlja, da ni ene same točke napake. Oglejmo si arhitekturo podrobno.

Cassandra Arhitektura

Arhitektura Cassandra sestavljajo predvsem vozlišče, grozd in podatkovni center. Poleg teh obstajajo tudi druge komponente. Cassandra je zbirka podatkov, ki je shranjena v vrsticah. Pooblaščenim uporabnikom omogoča povezavo s katerim koli vozliščem v katerem koli podatkovnem centru z uporabo CQL.

Ključne strukture v Cassandri

To so naslednje ključne strukture v Cassandri:

  • Vozlišče - Tu so shranjeni podatki. Je najosnovnejša sestavina Cassandra. To je lahko en sam strežnik v stojalu. Zagotavlja, da ni ene same točke odpovedi.
  • Podatkovni center - Podatkovni center je zbirka vozlišč. To je lahko fizična ali virtualna. Podatkovni centri se delijo in izberejo glede na delovno obremenitev. Faktor podvajanja se določi na podlagi podatkovnega centra. Glede na ta faktor podvajanja se lahko podatki zapisujejo v različna podatkovna središča.
  • Grozd - Grozd obsega eno ali več podatkovnih centrov. Grozdi se običajno raztezajo na različnih fizičnih lokacijah.

Poleg teh so tudi druge komponente, ki igrajo vlogo v Cassandri, spodaj.

1. Zapisnik dnevnika

Podatki, ki so zavezani k ohranjanju trajnosti podatkov, so shranjeni v dnevniku potrditev. Podatki se premaknejo v razvrščeno tabelo nizov (razloženo naprej). Ko je ta premik opravljen, lahko dnevnik zaviranja arhivirate, izbrišete ali reciklirate.

2. SS Tabela

Ta tabela, kot je omenjena v prejšnji točki, v rednih intervalih hrani tabele dnevnika ali pomnilnika. To je nespremenljiva podatkovna datoteka. SS tabele lahko pogosto shranjujejo podatke na zaporedni način. Priložijo podatke in vzdržujejo informacije za vsako tabelo Cassandra.

3. Tabela CQL

Tabela poizvedb Cassandra je zbirka urejenih stolpcev, ki lahko prikažejo vrstico iz te tabele. V tej tabeli so shranjeni stolpci, v katerih se podatki lahko pridobijo z uporabo primarnega ključa.

4. Bloom Filter

Gre za preprosto vrsto predpomnilnika, v katerem so za testiranje shranjeni nedefinirani algoritmi. Preveri, ali je element član niza ali ne. Do teh filtrov je običajno dostopati po vsaki poizvedbi, ki se zažene.

Ključne komponente za konfiguriranje Cassandra

V Cassandri so naslednje komponente:

1. Trači

  • Kot že ime pove, mora biti komunikacija med vrstniki, da bi odkrili in delili lokacijo in stanje informacij o vseh vozliščih.
  • Te informacije naj ostanejo lokalne, tako da lahko vsako vozlišče informacije uporabi takoj, ko se mora vozlišče znova zagnati. Vozlišča odkrijejo informacije o drugih vozliščih z izmenjavo informacij.
  • To je mogoče storiti za največ tri vozlišča. Informacije se ne delijo z vsakim vozliščem, ki je v grozdu ali podatkovnem centru. Informacije se delijo z nekaj vozlišči, sčasoma pa se informacije o stanju gibljejo po celotnem grozdu.

2. Partitor

  • Partitor se odloči, katero vozlišče mora prejeti prvo repliko podatkov. Odgovorna je tudi za distribucijo teh kopij.
  • Določil bo, katero vozlišče bi moralo imeti podvajanje v grozdu. Vsako vrsto podatkov je treba določiti enolično. To lahko storite z uporabo primarnega ali particijskega ključa.
  • Partitor je hash funkcija, ki pomaga pri pridobivanju žetona iz primarnega ključa katere koli vrstice. Vsakemu vozlišču je dodeljena vrednost num_token, ki jo je mogoče nastaviti kot partitor.
  • Generirana vrednost žetona pomaga pri določanju, katero vozlišče prejme repliko vrstic.

3. Faktor podvajanja

  • Ta faktor določa skupno število kopij v grozdu. Če je faktor podvajanja 1, potem je v enem vozlišču samo ena kopija vsake vrstice.
  • Podobno je, če sta faktorja podvajanja dva, bosta ohranjeni dve kopiji, kjer je vsaka kopija prisotna v drugem vozlišču. Kot smo že omenili, v Cassandri ni arhitekture master-slave, vsaka kopija je pomembna.
  • Faktor podvajanja je določen za vsak podatkovni center. Ta faktor mora biti večji od enega, vendar ne večji od števila vozlišč v grozdu.

4. Smrčka

  • Strategija razmnoževanja, ki pomaga pri iskanju mesta, kjer naj bodo replike nameščene za skupino strojev v podatkovnem centru, stojalo pa je znano kot Snitch.
  • Obstaja dinamična plast, ki pomaga pri spremljanju in uspešnosti in pomaga pri izbiri najboljše replike, iz katere je mogoče brati podatke. Snitches je treba konfigurirati le, če je ustvarjen grozd.
  • Za večino uvajanj so omogočene privzete vrednosti. Konfiguracijske spremembe se lahko izvedejo v datoteki Cassandra.yml, kjer je za vsako vozlišče prisoten dinamični prag zatiranja.

5. Merkle drevo

  • V podatkovnih blokih so lahko razlike. Da bi lažje našli razlike, je drevo Merkle hash, ki pomaga pri tem.
  • Listna vozlišča drevesa hash vsebujejo razpršitve ločenih podatkovnih blokov, nadrejena vozlišča pa imajo informacije ali pa shranjujejo tudi šipe svojih otrok.
  • Z uporabo te tehnike je lažje najti razlike med prisotnimi vozlišči.

6. Mem tabela

  • V tej tabeli so podatki o predpomnilniku, katerih podatki še niso izpraznili in so v spominu.

Zaključek

Cassandra je baza podatkov NoSQL, ki je uporabna pri obdelavi ogromnih količin podatkov. Nima tipične arhitekture master-slave, zato so vsa vozlišča enako pomembna. Vozlišča imajo replike po gruči glede na faktor replikacije. To zagotavlja doslednost in trajnost podatkov. Z vsemi temi lastnostmi je jasno, da je Cassandra zelo uporabna za velike podatke. Kasandra je zato trpežna, hitra, saj je razporejena in zanesljiva.

Priporočeni članki

To je vodnik za Cassandra Architecture. Tukaj razpravljamo o uvodu, arhitekturi Cassandra, ključni strukturi in ključnih sestavnih delih Cassandra. Ogledate si lahko tudi druge naše predlagane članke -

  1. Pregled arhitekture Kubernetes
  2. Kaj je arhitektura velikih podatkov?
  3. Funkcije dodane v arhitekturo AutoCAD
  4. Arhitektura oblačnega računalništva

Kategorija: