Cassandra je zasnovana za obdelavo velikih podatkov. Glavna značilnost Cassandre je shranjevanje podatkov na več vozliščih brez ene same točke okvare.
Razlog za tovrstno arhitekturo Cassandre je bil, da se okvara strojne opreme lahko zgodi kadar koli. Vsako vozlišče je lahko navzdol. V primeru okvare lahko uporabimo podatke, shranjene v drugem vozlišču. Zato je Cassandra zasnovana s svojo porazdeljeno arhitekturo.
Cassandra shranjuje podatke o različnih vozliščih z enakomerno porazdeljeno modno arhitekturo.
Vsa vozlišča si izmenjujejo informacije s protokolom Gossip . Gossip je protokol v Cassandri, s katerim vozlišča lahko komunicirajo med seboj.
V tej vadnici boste izvedeli-
- Sestavine Cassandre
- Podvajanje podatkov
- Napiši operacijo
- Preberite Operation
Sestavine Cassandre
V Cassandri so naslednje komponente;
- Vozlišče
Vozlišče je kraj, kjer se shranjujejo podatki. Je osnovna sestavina Cassandre.
- Podatkovno središče
Zbirka vozlišč se imenuje podatkovni center. Številna vozlišča so kategorizirana kot podatkovni center.
- Grozd
Grozd je zbirka številnih podatkovnih centrov.
- Dnevnik odobritve
Vsaka operacija pisanja je zapisana v dnevnik zapisov. Dnevnik predaj se uporablja za obnovo po zrušitvi.
- Mem-miza
Po podatkih, zapisanih v dnevnik zapisov, so podatki zapisani v Mem-tabelo. Podatki so začasno zapisani v Mem-tabelo.
- SSTtable
Ko Mem-tabela doseže določen prag, se podatki izpraznijo v diskovno datoteko SSTable.
Podvajanje podatkov
Ker lahko kadar koli med obdelavo podatkov pride do težave s strojno opremo ali pa povezava ne deluje, je potrebna rešitev, da zagotovite varnostno kopijo, ko pride do težave. Podatki se tako ponovijo, da se ne zagotovi nobena točka okvare.
Cassandra na podlagi teh dveh dejavnikov postavlja replike podatkov na različna vozlišča.
- Kje postaviti naslednjo repliko, določa strategija kopiranja .
- Medtem ko skupno število replik, nameščenih na različnih vozliščih, določa faktor replikacije .
En faktor replikacije pomeni, da obstaja samo ena kopija podatkov, medtem ko trije faktor replikacije pomeni, da obstajajo tri kopije podatkov na treh različnih vozliščih.
Za zagotovitev, da ni ene same točke okvare, mora biti faktor ponovitve tri.
V Cassandri obstajata dve vrsti strategij kopiranja.
SimpleStrategy
SimpleStrategy se uporablja, če imate samo en podatkovni center. SimpleStrategy postavi prvo kopijo na vozlišče, ki ga izbere particija. Po tem se preostale replike v obroč Node namestijo v smeri urnega kazalca.
Tu je slikovna predstavitev SimpleStrategy.
NetworkTopologyStrategy
NetworkTopologyStrategy se uporablja, če imate več kot dva podatkovna centra.
V NetworkTopologyStrategy so replike nastavljene za vsak podatkovni center posebej. NetworkTopologyStrategy postavi replike v smeri urinega kazalca v obroču, dokler ne doseže prvega vozlišča v drugem stojalu.
Ta strategija poskuša postaviti replike na različne stojala v isti podatkovni center. Razlog za to je, da se včasih v stojalu lahko pojavijo okvare ali težave. Nato lahko replike na drugih vozliščih zagotavljajo podatke.
Tu je slikovna predstavitev strategije topologije omrežja
Napiši operacijo
Koordinator pošlje zahtevo za pisanje replikam. Če so vse replike postavljene, bodo prejele zahtevo za pisanje ne glede na njihovo stopnjo skladnosti.
Raven skladnosti določa, koliko vozlišč se bo odzvalo s potrditvijo uspeha.
Vozlišče se bo odzvalo s potrditvijo uspeha, če bodo podatki uspešno zapisani v dnevnik odobritve in memTable.
Na primer, v enem podatkovnem centru s faktorjem podvajanja, ki je enak trem, bodo tri replike prejele zahtevo za pisanje. Če je raven skladnosti ena, se bo le ena replika odzvala s potrditvijo uspeha, preostali dve pa ostanejo v mirovanju.
Recimo, da če preostali dve kopiji izgubita podatke zaradi padcev vozlišč ali kakšne druge težave, bo Cassandra z vgrajenim mehanizmom za popravilo v Cassandri vrstico uskladila.
Tu je razloženo, kako poteka postopek pisanja v Cassandri,
- Ko zahteva za pisanje pride na vozlišče, se najprej zapiše v dnevnik prevzema.
- Nato Cassandra zapiše podatke v mem-tabelo. Podatki, zapisani v tabeli mem na vsaki zahtevi za pisanje, se v dnevnik zapisov zapisujejo tudi ločeno. Mem-tabela je začasno shranjeni podatek v pomnilniku, medtem ko dnevnik zabeleži zapise transakcij za varnostno kopiranje.
- Ko je mem-tabela polna, se podatki odstranijo v podatkovno datoteko SSTable.
Preberite Operation
Obstajajo tri vrste zahtev za branje, ki jih koordinator pošlje replikam.
- Neposredna zahteva
- Povzetek zahteve
- Preberite zahtevo za popravilo
Koordinator pošlje neposredno zahtevo eni od replik. Po tem koordinator pošlje povpraševanje po številu kopij, določenih s stopnjo skladnosti, in preveri, ali so vrnjeni podatki posodobljeni podatki.
Po tem koordinator pošlje povpraševanje na vse preostale replike. Če katero koli vozlišče da zastarelo vrednost, bo zahteva za popravilo branja v ozadju posodobila te podatke. Ta postopek se imenuje mehanizem za popravilo branja.
Povzetek
Ta vadnica razlaga notranjo arhitekturo Cassandre in kako Cassandra posnema, piše in bere podatke v različnih fazah. Tu tudi pojasnjuje, kako Cassandra vzdržuje raven doslednosti skozi celoten postopek.