Što je Cassandra?

Cassandra je baza podataka NoSQL koja je distribuirana baza podataka ravnopravnih. Radi na grozdu koji ima homogene čvorove. Napravljen je na takav način da može obraditi velike količine podataka. Korištenjem ovih podataka također bi trebalo osigurati visoku sposobnost. Cassandra pruža visoku mjeru kada su u pitanju operacije čitanja i pisanja. Arhitektura klastera Cassandra nema nikakvih gospodara, robova ili bilo kojeg određenog vođe. Na ovaj način se osigurava da nema nijedne točke neuspjeha. Pogledajmo detaljno arhitekturu.

Cassandra Arhitektura

Arhitektura Cassandra sastoji se uglavnom od čvora, klastera i podatkovnog centra. Pored ovih, postoje i druge komponente. Cassandra je baza podataka pohranjena u redovima. Ovlaštenim korisnicima omogućuje povezivanje s bilo kojim čvorom u bilo kojem podatkovnom centru pomoću CQL-a.

Ključne strukture u Cassandri

Ovo su sljedeće ključne strukture u Cassandri:

  • Čvor - Ovdje se pohranjuju podaci. To je najosnovnija sastavnica Cassandra. To se može smatrati jednim poslužiteljem u stalak. To osigurava da ne postoji niti jedna točka neuspjeha.
  • Data Center - podatkovni centar je zbirka čvorova. To može biti fizička ili virtualna. Ovisno o radnom opterećenju, podaci se dijele i odabiru. Faktor replikacije odlučuje se na temelju podatkovnog centra. Ovisno o ovom faktoru replikacije podaci se mogu pisati u različite podatkovne centre.
  • Klaster - Klaster se sastoji od jednog ili više podatkovnih centara. Klasteri se obično protežu na različitim fizičkim mjestima.

Pored ovih, ostale komponente koje igraju ulogu u Cassandri su dolje navedene.

1. Dnevni zapisnik

Podaci koji su počinjeni za održavanje trajnosti podataka pohranjuju se u zapisnik počinjenja. Podaci se premještaju u sortiranu nizu nizova (objašnjeno je dalje). Nakon što je taj pokret završen, dnevnik snimanja može se arhivirati, izbrisati ili reciklirati.

2. SS tablica

Ova tablica kao što je spomenuto u prethodnoj točki pohranjuje tablice dnevnika ili memorije u redovitim intervalima. To je nepromjenjiva datoteka podataka. SS tablice često mogu pohraniti podatke na uzastopni način. Dodaju podatke i održavaju podatke za svaku tablicu Cassandra.

3. CQL tablica

Tabela upita Cassandra zbirka je naručenih stupaca koji mogu dohvatiti red iz ove tablice. U ovoj su tablici pohranjeni stupci u kojima se podaci mogu dohvatiti korištenjem primarnog ključa.

4. Bloom Filter

To je jednostavna predmemorija u kojoj postoje nedeterministički algoritmi pohranjeni za testiranje. Provjerava je li neki element skupa ili ne. Tim se filtrima pristupa obično nakon svakog pokretanog upita.

Ključne komponente za konfiguriranje Cassandra

U Cassandri se nalaze sljedeće komponente:

1. Tračevi

  • Kao što ime sugerira, mora postojati komunikacija među vršnjacima kako bi se otkrili i dijelili lokacija i stanje informacija o svim čvorovima.
  • Te informacije trebaju postojati na lokalnoj razini kako bi svaki čvor mogao upotrijebiti informacije čim se čvor ponovno pokrene. Čvorovi otkrivaju informacije o drugim čvorovima razmjenom informacija.
  • To se može učiniti za najviše tri čvora. Informacije se ne dijele sa svakim čvorom koji je prisutan u klasteru ili podatkovnom centru. Informacije se dijele s nekoliko čvorova, ali na kraju se informacije o stanju kreću kroz klaster.

2. Partitor

  • Partitor odlučuje koji čvor mora primiti prvu repliku bilo kojeg podatka. Također je odgovorna za brigu o distribuciji tih replika.
  • Odredit će koji čvor treba imati koja replikacija u klasteru. Svaki red podataka trebao bi biti jedinstveno označen. To se može učiniti korištenjem primarnog ili particijskog ključa.
  • Partitor je hash funkcija koja pomaže u dobivanju tokena iz primarnog ključa bilo kojeg retka. Svakom čvoru je dodijeljena vrijednost num_token koja se može postaviti kao partitor.
  • Generirana vrijednost tokena pomaže u određivanju koji čvor prima repliku redaka.

3. Faktor replikacije

  • Ovaj faktor određuje ukupan broj replika prisutnih u klasteru. Ako je faktor replikacije 1, tada postoji samo jedna kopija svakog retka na jednom čvoru.
  • Slično tome, ako je faktor replikacije dva, održavat će se dvije kopije, gdje je svaka kopija prisutna na različitom čvoru. Kao što je spomenuto ranije, u Cassandri nema arhitekture glavnog roba, a svaka je kopija važna.
  • Faktor replikacije definiran je za svaki podatkovni centar. Taj bi faktor trebao biti veći od jednog, ali ne veći od broja čvorova prisutnih u klasteru.

4. trzaj

  • Strategija replikacije koja pomaže u pronalaženju mjesta na kojem se trebaju staviti replike za skupinu strojeva u podatkovnom centru, a stalak je poznat kao Snitch.
  • Postoji dinamični sloj koji pomaže u nadzoru i performansama i pomaže u odabiru najbolje replike iz kojeg se mogu pročitati podaci. Snitches treba konfigurirati samo kad se stvori klaster.
  • Ima zadane vrijednosti omogućene za većinu implementacija. Promjene konfiguracije mogu se izvršiti u datoteci Cassandra.yml u kojoj je prisutan dinamički prag uboda za svaki čvor.

5. Drvo Merkle

  • U blokovima podataka mogu postojati razlike. Da biste lako pronašli razlike Merkle tree je stablo hash koji pomaže u tome.
  • Čvorovi listova hash stabla sadrže slojeve zasebnih blokova podataka, a nadređeni čvorovi imaju podatke ili pohranjuju heševe svoje djece.
  • Pomoću ove tehnike lakše je pronaći razlike između prisutnih čvorova.

6. Mem tablica

  • Ova tablica sadrži podatke o predmemoriji čiji podaci još nisu obrisani i nalaze se u memoriji.

Zaključak

Cassandra je NoSQL baza podataka koja je korisna za obradu ogromnih količina podataka. Nema tipičnu arhitekturu master-slave i stoga su svi čvorovi podjednako važni. Čvorovi imaju replike preko klastera po faktoru replikacije. To osigurava dosljednost i trajnost podataka. Sa svim tim značajkama jasno je da je Cassandra vrlo korisna za velike podatke. Kasandra je stoga izdržljiva, brza jer se raspodjeljuje i pouzdana.

Preporučeni članci

Ovo je vodič za Cassandra arhitekturu. Ovdje razgovaramo o Uvodu, arhitekturi Cassandra, ključnoj strukturi i ključnim komponentama Cassandra. Možete i pregledati naše druge predložene članke -

  1. Pregled arhitekture Kubernetesa
  2. Što je arhitektura velikih podataka?
  3. Značajke dodane u AutoCAD arhitekturu
  4. Cloud Computing Architecture

Kategorija: