Cassandra je dizajnirana za rukovanje velikim podacima. Glavna značajka Cassandre je pohranjivanje podataka na više čvorova bez ijedne točke kvara.
Razlog za ovu vrstu Cassandrine arhitekture bio je taj što se hardverski kvar može dogoditi u bilo kojem trenutku. Bilo koji čvor može biti dolje. U slučaju kvara mogu se koristiti podaci pohranjeni u drugom čvoru. Stoga je Cassandra dizajnirana sa svojom distribuiranom arhitekturom.
Cassandra pohranjuje podatke o različitim čvorovima s ravnopravnom distribuiranom modnom arhitekturom.
Svi čvorovi međusobno razmjenjuju informacije koristeći Trač protokol . Ogovaranje je protokol u Cassandri pomoću kojeg čvorovi mogu međusobno komunicirati.
U ovom vodiču naučit ćete-
- Komponente Kasandre
- Replikacija podataka
- Napišite operaciju
- Pročitajte operaciju
Komponente Kasandre
U Cassandri postoje sljedeće komponente;
- Čvor
Čvor je mjesto na kojem se podaci pohranjuju. To je osnovna komponenta Cassandre.
- Podatkovni centar
Zbirka čvorova naziva se podatkovni centar. Mnogi čvorovi kategorizirani su kao podatkovni centar.
- Klastera
Klaster je zbirka mnogih podatkovnih centara.
- Zapis dnevnika
Svaka operacija pisanja napisana je u zapisnik urezivanja. Dnevnik predavanja koristi se za oporavak nakon pada.
- Mem-stol
Nakon podataka zapisanih u zapisnik urezivanja, podaci se zapisuju u Mem-tablicu. Podaci se privremeno zapisuju u Mem-tablicu.
- SSTable
Kad Mem-tablica dosegne određeni prag, podaci se prebacuju u SSTable datoteku diska.
Replikacija podataka
Budući da se hardverski problem može pojaviti ili se veza može zaustaviti u bilo kojem trenutku tijekom obrade podataka, potrebno je rješenje za osiguravanje sigurnosne kopije kada se problem pojavio. Dakle, podaci se repliciraju kako se ne bi osigurala niti jedna točka kvara.
Cassandra postavlja replike podataka na različite čvorove na temelju ova dva čimbenika.
- Gdje smjestiti sljedeću repliku, određuje Strategija replikacije .
- Dok ukupan broj replika postavljenih na različite čvorove određuje faktor replikacije .
Jedan faktor replikacije znači da postoji samo jedna kopija podataka, dok tri faktor replikacije znači da postoje tri kopije podataka na tri različita čvora.
Da bi se osiguralo da nema niti jedne točke kvara, faktor replikacije mora biti tri.
U Cassandri postoje dvije vrste replikacijskih strategija.
SimpleStrategy
SimpleStrategy koristi se kada imate samo jedan podatkovni centar. SimpleStrategy postavlja prvu repliku na čvor koji je odabrao particioner. Nakon toga, preostale replike se postavljaju u smjeru kazaljke na satu u Node prsten.
Ovdje je slikovni prikaz SimpleStrategy.
NetworkTopologyStrategy
NetworkTopologyStrategy koristi se kada imate više od dva podatkovna centra.
U NetworkTopologyStrategy, replike se postavljaju za svaki podatkovni centar zasebno. NetworkTopologyStrategy postavlja replike u smjeru kazaljke na satu u prstenu dok ne dosegne prvi čvor u drugom stalku.
Ova strategija pokušava replike smjestiti na različite police u isti podatkovni centar. To je zbog razloga što se ponekad u nosaču može dogoditi kvar ili problem. Tada replike na drugim čvorovima mogu pružiti podatke.
Evo slikovitog prikaza strategije topologije mreže
Napišite operaciju
Koordinator šalje zahtjev za pisanje replikama. Ako su sve replike podignute, primit će zahtjev za pisanje bez obzira na razinu konzistentnosti.
Razina dosljednosti određuje koliko će čvorova odgovoriti uz potvrdu uspjeha.
Čvor će odgovoriti natrag s potvrdom o uspjehu ako su podaci uspješno zapisani u dnevnik urezivanja i memTable.
Na primjer, u jednom podatkovnom centru s faktorom replikacije jednakim tri, tri će replike primiti zahtjev za upis. Ako je razina dosljednosti jedna, samo će jedna replika odgovoriti potvrdom o uspjehu, a preostale dvije će ostati neaktivne.
Pretpostavimo da ako preostale dvije replike izgube podatke zbog pada čvorova ili nekog drugog problema, Cassandra će redak učiniti dosljednim ugrađenim mehanizmom za popravak u Cassandri.
Ovdje je objašnjeno kako se proces pisanja događa u Cassandri,
- Kada zahtjev za pisanjem dođe do čvora, on se prije svega prijavljuje u dnevnik urezivanja.
- Tada Cassandra upisuje podatke u mem-tablicu. Podaci zapisani u mem-tablici na svakom zahtjevu za pisanje također se zasebno zapisuju u zapisnik urezivanja. Mem-tablica je privremeno pohranjeni podatak u memoriji, dok zapisnik evidentira zapise transakcija u svrhu izrade sigurnosnih kopija.
- Kada je mem-tablica puna, podaci se ispiru u podatkovnu datoteku SSTable.
Pročitajte operaciju
Postoje tri vrste zahtjeva za čitanje koje koordinator šalje replikama.
- Izravni zahtjev
- Zahtjev za sažetak
- Pročitajte zahtjev za popravak
Koordinator šalje izravni zahtjev na jednu od replika. Nakon toga, koordinator šalje sažeti zahtjev na broj replika određenih razinom dosljednosti i provjerava jesu li vraćeni podaci ažurirani podaci.
Nakon toga, koordinator šalje sažetak zahtjeva svim preostalim replikama. Ako bilo koji čvor daje zastarjelu vrijednost, zahtjev za popravak u pozadini čitanja ažurirat će te podatke. Taj se postupak naziva mehanizam popravljanja čitanja.
Sažetak
Ovaj vodič objašnjava unutarnju arhitekturu Cassandre i kako Cassandra replicira, zapisuje i čita podatke u različitim fazama. Ovdje također objašnjava kako Cassandra održava razinu dosljednosti tijekom cijelog postupka.