Vad är Cassandra?

Cassandra är en NoSQL-databas som är peer to peer-distribuerad databas. Den körs på ett kluster som har homogena noder. Den är tillverkad på ett sådant sätt att den kan hantera stora datamängder. Vid hantering av dessa uppgifter bör den också kunna ge en hög kapacitet. Cassandra levererar högt hela tiden när det gäller läs- och skrivoperationer. Arkitekturen i Cassandra-klustret har inga mästare, slavar eller några specifika ledare. Genom att använda det här sättet säkerställer det att det inte finns någon enda punkt för fel. Låt oss titta på arkitekturen i detalj.

Cassandra Arkitektur

Cassandra-arkitekturen består huvudsakligen av nod, kluster och datacenter. Utöver dessa finns det också andra komponenter. Cassandra är en radlagrad databas. Det gör att auktoriserade användare kan ansluta till vilken nod som helst i ett datacenter med CQL.

Nyckelstrukturer i Cassandra

Dessa är följande nyckelstrukturer i Cassandra:

  • Nod - Det är här informationen lagras. Det är den mest grundläggande komponenten i Cassandra. Det kan ses som en enda server i ett rack. Det säkerställer att det inte finns en enda misslyckande.
  • Datacenter - Ett datacenter är en samling noder. Detta kan antingen vara fysiskt eller virtuellt. Beroende på arbetsbelastningen delas datacentra och väljs. Replikeringsfaktorn bestäms på basis av datacentret. Beroende på denna replikationsfaktor kan data skrivas till olika datacenter.
  • Cluster - Cluster består av ett eller flera datacenter. Kluster spänner vanligtvis på olika fysiska platser.

Utöver dessa är de andra komponenterna som spelar en roll i Cassandra som nedan.

1. Begå logg

Uppgifterna som används för att bibehålla datorns hållbarhet lagras i åtagandeloggen. Data flyttas till en sorterad strängtabell (förklaras nästa). När denna rörelse är klar kan åtagandeloggen arkiveras, raderas eller återvinnas.

2. SS-tabell

Denna tabell som nämnts i föregående punkt lagrar logg- eller minnestabellerna med jämna mellanrum. Det är en oföränderlig datafil. SS-tabeller kan lagra data ofta på ett sekventiellt sätt. De lägger till data och underhåller information för varje Cassandra-bord.

3. CQL-tabell

Cassandra Query-tabellen är en samling beställda kolumner som kan hämta en rad från det här bordet. Det finns kolumner i denna tabell där data kan hämtas genom att använda den primära nyckeln.

4. Blommfilter

Det är en enkel typ av cache där det finns icke-deterministiska algoritmer lagrade för testning. Den kontrollerar om ett element är medlem i uppsättningen eller inte. Dessa filter har vanligtvis åtkomst efter varje fråga som körs.

Nyckelkomponenter för att konfigurera Cassandra

Det finns följande komponenter i Cassandra:

1. Skvaller

  • Som namnet antyder måste det finnas kommunikation mellan kamrater för att upptäcka och dela plats och information om alla noder.
  • Denna information bör kvarstå lokalt så att varje nod kan använda informationen så snart en nod måste starta om. Noder upptäcker information om andra noder genom att utbyta information.
  • Detta kan göras för högst tre noder. Informationen delas inte med varje nod som finns i klustret eller datacentret. Informationen delas med några få noder men så småningom passerar den statliga informationen genom hela klustret.

2. Partitioner

  • Partitionern bestämmer vilken nod som ska få den första repliken av data. Det är också ansvarigt för att ta hand om distributionen av dessa kopior.
  • Det bestämmer vilken nod som ska ha vilken replikering i klustret. Varje rad med data bör identifieras unikt. Detta kan göras genom att använda en primär nyckel eller partitionsnyckel.
  • Partitionern är en hashfunktion som hjälper till att få ett symbol från en primär nyckel i vilken rad som helst. Varje nod har ett num_tokenvärde tilldelat det som kan ställas in som partitionerare.
  • Tokenvärdet som genereras hjälper till att bestämma vilken nod som mottar radernas replik.

3. Replikeringsfaktor

  • Denna faktor bestämmer det totala antalet kopior som finns i klustret. Om replikationsfaktorn är 1 finns det bara en kopia av varje rad på en nod.
  • På samma sätt, om replikationsfaktorn är två, kommer det att finnas två kopior där varje kopia finns på en annan nod. Som nämnts tidigare finns det ingen master-slavarkitektur i Cassandra varje kopia är viktig.
  • Replikeringsfaktorn definieras för varje datacenter. Denna faktor bör vara större än en men inte mer än antalet noder som finns i klustret.

4. Snitch

  • Replikeringsstrategin som hjälper till att få platsen där kopior ska placeras för en grupp maskiner i datacentret och racket kallas Snitch.
  • Det finns ett dynamiskt lager som hjälper till att övervaka och prestanda och hjälper till att välja den bästa replik från vilken data kan läsas. Snitches bör bara konfigureras när ett kluster skapas.
  • Det har standardvärden aktiverade för de flesta distributioner. Konfigurationsändringarna kan göras i filen Cassandra.yml där den dynamiska snitch-tröskeln för varje nod finns.

5. Merkle Tree

  • Det kan finnas skillnader i datablock. För att lätt kunna hitta skillnaderna är Merkle tree ett hashträd som hjälper till med detta.
  • Bladnoderna i hashträdet innehåller hashes av separata datablock och överordnade noder har informationen eller de lagrar hasharna för sina barn också.
  • Genom att använda denna teknik är det lättare att hitta skillnader mellan de noder som finns.

6. Mem-tabell

  • Den här tabellen innehåller information om cache vars data ännu inte spolas och finns i minnet.

Slutsats

Cassandra är en NoSQL-databas som är användbar vid behandling av enorma mängder data. Den har inte en typisk master-slavarkitektur och därför är alla noder lika viktiga. Noderna har kopior över klustret enligt replikationsfaktorn. Detta säkerställer informationens konsistens och hållbarhet. Med alla dessa funktioner är det tydligt att Cassandra är mycket användbar för big data. Cassandra är därför hållbar, snabb eftersom den är distribuerad och pålitlig.

Rekommenderade artiklar

Detta är en guide till Cassandra Architecture. Här diskuterar vi introduktionen, Cassandra-arkitekturen, nyckelstrukturen och de viktigaste komponenterna i Cassandra. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Översikt av Kubernetes Architecture
  2. Vad är Big Data Architecture?
  3. Funktioner tillagda i AutoCAD Architecture
  4. Cloud Computing Architecture

Kategori: