Cassandra Arkitektur - Nøkkelstrukturer i Cassandra Arkitektur

Innholdsfortegnelse:

Anonim

Hva er Cassandra?

Cassandra er en NoSQL-database som er peer to peer distribuert database. Den kjører på en klynge som har homogene noder. Den er laget på en slik måte at den kan håndtere store datamengder. Ved håndtering av disse dataene skal den også kunne gi en høy kapasitet. Cassandra sørger for høyt når det gjelder lese- og skriveoperasjoner. Arkitekturen i Cassandra-klyngen har ingen mestere, slaver eller noen spesifikke ledere. Ved å bruke denne måten sørger den for at det ikke er et eneste feil punkt. La oss ta en titt på arkitekturen i detalj.

Cassandra Arkitektur

Cassandra-arkitekturen består hovedsakelig av Node, Cluster og Data Center. I tillegg til disse er det også andre komponenter. Cassandra er en lagret database. Det gjør det mulig for autoriserte brukere å koble seg til hvilken som helst nod i ethvert datasenter ved å bruke CQL.

Nøkkelstrukturer i Cassandra

Dette er følgende nøkkelstrukturer i Cassandra:

  • Node - Det er her dataene lagres. Det er den mest grunnleggende komponenten i Cassandra. Det kan tenkes på som en enkelt server i et rack. Det sikrer at det ikke er et eneste feil punkt.
  • Datasenter - Et datasenter er en samling noder. Dette kan være fysisk eller virtuelt. Avhengig av arbeidsmengden blir datasentre delt og valgt. Replikeringsfaktoren avgjøres på grunnlag av datasenteret. Avhengig av denne replikasjonsfaktoren kan data skrives til forskjellige datasentre.
  • Cluster - Cluster består av et eller flere datasentre. Klynger spenner vanligvis på forskjellige fysiske steder.

I tillegg til disse er de andre komponentene som spiller inn i Cassandra som nedenfor.

1. Forpliktelseslogg

Dataene som er forpliktet for å opprettholde holdbarheten til data lagres i forpliktelsesloggen. Dataene blir flyttet til en sortert strengetabell (forklart neste). Når denne bevegelsen er utført, kan forpliktelsesloggen arkiveres, slettes eller gjenvinnes.

2. SS-tabell

Denne tabellen som nevnt i forrige punkt lagrer logg- eller minnetabellene med jevne mellomrom. Det er en uforanderlig datafil. SS-tabeller kan lagre data ofte på en sekvensiell måte. De legger ved data og vedlikeholder informasjon for hver Cassandra-tabell.

3. CQL-tabell

Cassandra Query-tabellen er en samling bestilte kolonner som kan hente en rad fra dette bordet. Det er kolonner lagret i denne tabellen der data kan hentes ved å bruke den primære nøkkelen.

4. Bloom-filter

Det er en enkel type cache der det er ikke-deterministiske algoritmer som er lagret for testing. Den sjekker om et element er medlem av settet eller ikke. Disse filtrene er vanligvis tilgjengelig etter hvert spørsmål som kjøres.

Nøkkelkomponenter for å konfigurere Cassandra

Det er følgende komponenter i Cassandra:

1. Sladder

  • Som navnet antyder, må det være kommunikasjon mellom jevnaldrende for å oppdage og dele plassering og tilstand av informasjon om alle noder.
  • Denne informasjonen skal vedvare lokalt, slik at hver node kan bruke informasjonen så snart en node må starte på nytt. Noder oppdager informasjon om andre noder ved å utveksle informasjon.
  • Dette kan gjøres i maksimalt tre noder. Informasjonen deles ikke med hver node som er til stede i klyngen eller datasenteret. Informasjonen deles med noen få noder, men etter hvert krysser staten informasjon gjennom klyngen.

2. Partisjoner

  • Partisjonøren bestemmer hvilken node som skal motta den første kopien av data. Det er også ansvarlig for å ta vare på distribusjonen av disse kopiene.
  • Det vil avgjøre hvilken node som skal ha hvilken replikasjon i klyngen. Hver rad med data skal identifiseres unikt. Dette kan gjøres ved å bruke en primærnøkkel eller en partisjonsnøkkel.
  • Partisjonæren er en hasjfunksjon som hjelper deg med å få et symbol fra en primærnøkkel i hvilken som helst rad. Hver node har en num_tokenverdi tildelt den som kan settes som partisjoner.
  • Tokenverdien som genereres hjelper til med å bestemme hvilken node som mottar replikkene til radene.

3. Replikeringsfaktor

  • Denne faktoren bestemmer det totale antallet kopier som finnes over hele klyngen. Hvis replikasjonsfaktoren er 1, er det bare en kopi av hver rad på en node.
  • Tilsvarende, hvis replikasjonsfaktoren er to, vil det være to kopier som opprettholdes der hver kopi er til stede på en annen nod. Som nevnt tidligere er det ingen master-slave-arkitektur i Cassandra, hver kopi er viktig.
  • Replikeringsfaktoren er definert for hvert datasenter. Denne faktoren bør være større enn en, men ikke mer enn antallet noder som er til stede i klyngen.

4. Snitch

  • Replikeringsstrategien som hjelper deg med å få stedet der kopier skal plasseres for en gruppe maskiner i datasenteret og stativet er kjent som Snitch.
  • Det er et dynamisk lag som hjelper til med overvåking og ytelse og hjelper deg med å velge den beste kopien som data kan leses fra. Snikere skal bare konfigureres når en klynge opprettes.
  • Den har standardverdier aktivert for de fleste distribusjoner. Konfigurasjonsendringene kan gjøres i Cassandra.yml-filen der den dynamiske snitch-terskelen for hver node er til stede.

5. Merkle Tree

  • Det kan være forskjeller i datablokker. For enkelt å finne forskjellene er Merkle tree et hasjtrær som hjelper til med å gjøre dette.
  • Bladknutene til hasjetreet inneholder hasjer med separate datablokker, og overordnede noder har informasjonen, eller de lagrer hasjene til barna sine også.
  • Ved å bruke denne teknikken er det lettere å finne forskjeller mellom nodene som er til stede.

6. Mem-tabell

  • Denne tabellen inneholder informasjon om hurtigbuffer hvis data ikke er spylt ennå og ligger i minnet.

Konklusjon

Cassandra er en NoSQL-database som er nyttig i behandling av enorme datamengder. Den har ikke en typisk master-slave-arkitektur, og derfor er alle noder like viktige. Knutepunktene har kopier over klyngen i henhold til replikasjonsfaktoren. Dette sikrer konsistensen og holdbarheten til dataene. Med alle disse funksjonene er det tydelig at Cassandra er veldig nyttig for big data. Cassandra er derfor holdbar, rask ettersom den er distribuert og pålitelig.

Anbefalte artikler

Dette er en guide til Cassandra Architecture. Her diskuterer vi Introduksjon, Cassandra-arkitektur, nøkkelstruktur og nøkkelkomponenter i Cassandra. Du kan også gå gjennom andre foreslåtte artikler -

  1. Oversikt over Kubernetes Architecture
  2. Hva er Big Data Architecture?
  3. Funksjoner lagt til AutoCAD Architecture
  4. Cloud Computing Architecture