Cassandra Architecture & replikeringsfaktor
Cassandra er designet for å håndtere Store data. CassandraHovedfunksjonen er å lagre data på flere noder uten et enkelt feilpunkt.
Grunnen til denne typen Cassandrasin arkitektur var at maskinvarefeilen kan oppstå når som helst. Enhver node kan være nede. Ved feil kan data som er lagret i en annen node brukes. Derfor, Cassandra er designet med sin distribuerte arkitektur.
Cassandra lagrer data på forskjellige noder med en peer-to-peer-distribuert motearkitektur.
Alle nodene utveksler informasjon med hverandre ved hjelp av Sladderprotokoll. Sladder er en protokoll i Cassandra der noder kan kommunisere med hverandre.
Komponenter av Cassandra Architecture
Det er følgende komponenter i Cassandra Archilære:

Node
Node er stedet der data lagres. Det er den grunnleggende komponenten av Cassandra.
Datasenter
En samling av noder kalles datasenter. Mange noder er kategorisert som et datasenter.
Cluster
Klyngen er samlingen av mange datasentre.
Forpliktelseslogg
Hver skriveoperasjon skrives til Commit Log. Commit-logg brukes til krasjgjenoppretting.
Mem-bord
Etter data skrevet i Commit-loggen, skrives data i Mem-tabell. Data skrives midlertidig i Mem-tabell.
SSTable
Når Mem-table når en viss terskel, tømmes data til en SSTable diskfil.
Datareplikering i Cassandra
Siden maskinvareproblem kan oppstå eller koblingen kan være nede når som helst under dataprosessen, kreves det en løsning for å gi en sikkerhetskopi når problemet har oppstått. Så data blir replikert for å sikre at det ikke er et enkelt feilpunkt.
Cassandra plasserer kopier av data på forskjellige noder basert på disse to faktorene.
- Hvor neste kopi skal plasseres bestemmes av Replikeringsstrategi.
- Mens det totale antallet replikaer plassert på forskjellige noder bestemmes av Replikeringsfaktor.
Én replikeringsfaktor betyr at det bare er en enkelt kopi av data, mens tre replikeringsfaktor betyr at det er tre kopier av dataene på tre forskjellige noder.
For å sikre at det ikke er et enkelt punkt for feil, replikasjonsfaktor må være tre.
Det er to typer replikeringsstrategier i Cassandra.
Enkel Strategi i Cassandra
Enkel Strategi brukes når du bare har ett datasenter. SimpleStrategy plasserer den første replikaen på noden valgt av partisjonereren. Etter det plasseres gjenværende replikaer med klokken i Node-ringen.
Her er den billedmessige representasjonen av SimpleStrategy:
Nettverk Topologi Strategi i Cassandra
Nettverkstopologistrategi brukes når du har mer enn to datasentre. I NetworkTopologyStrategy settes replikaer for hvert datasenter separat. NetworkTopologyStrategy plasserer replikaer med klokken i ringen til den når den første noden i et annet stativ. Denne strategien prøver å plassere replikaer på forskjellige stativer i samme datasenter.
Dette er grunnen til at det noen ganger kan oppstå feil eller problemer i stativet. Da kan replikaer på andre noder gi data.
Her er den billedmessige representasjonen av nettverkstopologistrategien:
Skriv Operasjon inn Cassandra
Koordinatoren sender en skriveforespørsel til replikaer. Hvis alle replikaene er oppe, vil de motta skriveforespørsel uavhengig av konsistensnivået.
Konsistensnivå bestemmer hvor mange noder som vil svare tilbake med suksessbekreftelsen.
Noden vil svare tilbake med suksessbekreftelsen hvis data er skrevet vellykket til commit-loggen og minnetabell.
For eksempel, i et enkelt datasenter med replikeringsfaktor lik tre, vil tre replikaer motta skriveforespørsel. Hvis konsistensnivået er ett, vil bare én replika svare tilbake med suksessbekreftelsen, og de resterende to vil forbli i dvale.
Anta at hvis de resterende to replikaene mister data på grunn av node-nedganger eller et annet problem, Cassandra vil gjøre raden konsistent med den innebygde reparasjonsmekanismen i Cassandra.
Her er det forklart hvordan skriveprosessen foregår i Cassandra,
- Når skriveforespørselen kommer til noden, logger den først og fremst på commit-loggen.
- Deretter Cassandra skriver dataene i mem-tabellen. Data skrevet i mem-tabellen på hver skriveforespørsel skrives også i commit-loggen separat. Mem-tabell er en midlertidig lagret data i minnet mens Commit-logg logger transaksjonspostene for sikkerhetskopiering.
- Når minnetabellen er full, tømmes data til SSTable-datafilen.
Lese Operasjon inn Cassandra
Det er tre typer leseforespørsler som en koordinator sender til replikaer.
- Direkte forespørsel
- Sammendragsforespørsel
- Les reparasjonsforespørsel
Koordinatoren sender direkte forespørsel til en av kopiene. Etter det sender koordinatoren sammendragsforespørselen til antallet replikaer spesifisert av konsistensnivået og sjekker om de returnerte dataene er oppdaterte data.
Etter det sender koordinatoren sammendragsforespørsel til alle gjenværende replikaer. Hvis en node gir utdatert verdi, vil en bakgrunnsreparasjonsforespørsel oppdatere disse dataene. Denne prosessen kalles lesereparasjonsmekanisme.
Sammendrag
- Denne opplæringen forklarer Cassandra intern arkitektur, og hvordan Cassandra replikerer, skriver og leser data på ulike stadier.
- Også her forklarer det hvordan Cassandra opprettholder konsistensnivået gjennom hele prosessen.
- Komponenter av Cassandra Architecture: Node, Datasenter, Cluster, Commit Log, Mem-tabell, SSTable
- Én replikeringsfaktor betyr at det bare er en enkelt kopi av data, mens tre replikeringsfaktor betyr at det er tre kopier av dataene på tre forskjellige noder.
- SimpleStrategy brukes når du bare har ett datasenter.
- NetworkTopologyStrategy brukes når du har mer enn to datasentre.