Cassandra Architectură și factor de replicare

Cassandra este conceput pentru a se descurca Datele mari. CassandraCaracteristica principală a lui este de a stoca date pe mai multe noduri, fără un singur punct de defecțiune.

Motivul pentru acest tip de CassandraArhitectura lui a fost că defecțiunea hardware poate apărea în orice moment. Orice nod poate fi oprit. În caz de defecțiune pot fi utilizate datele stocate într-un alt nod. Prin urmare, Cassandra este proiectat cu arhitectura sa distribuită.

Cassandra stochează date pe diferite noduri cu o arhitectură de modă distribuită peer to peer.

Toate nodurile fac schimb de informații între ele folosind Protocol de bârfă. Bârfa este un protocol în Cassandra prin care nodurile pot comunica între ele.

Componente ale Cassandra Architectură

Există următoarele componente în Cassandra Architectura:

Cassandra Architectură
Cassandra ArchiDiagrama de tectură

Nod

Nodul este locul unde sunt stocate datele. Este componenta de bază a Cassandra.

Data Center

O colecție de noduri se numește centru de date. Multe noduri sunt clasificate ca un centru de date.

Cluster

Clusterul este colecția multor centre de date.

Jurnal de comitere

Fiecare operație de scriere este scrisă în Commit Log. Jurnalul de confirmare este utilizat pentru recuperarea în caz de accident.

Mem-masa

După ce datele sunt scrise în Commit log, datele sunt scrise în Mem-table. Datele sunt scrise temporar în Mem-table.

SSTable

Când Mem-table atinge un anumit prag, datele sunt eliminate într-un fișier de disc SSTable.

Replicarea datelor în Cassandra

Deoarece poate apărea o problemă hardware sau legătura poate fi oprită în orice moment în timpul procesului de date, este necesară o soluție pentru a oferi o copie de rezervă atunci când a apărut problema. Deci, datele sunt replicate pentru a asigura niciun punct de eșec unic.

Cassandra plasează replici ale datelor pe diferite noduri pe baza acestor doi factori.

  • Unde să plasați următoarea replică este determinat de Strategia de replicare.
  • În timp ce numărul total de replici plasate pe diferite noduri este determinat de Factorul de replicare.

Un factor de replicare înseamnă că există o singură copie a datelor, în timp ce trei factori de replicare înseamnă că există trei copii ale datelor pe trei noduri diferite.

Pentru a vă asigura că nu există un singur punct de eșec, factorul de replicare trebuie să fie trei.

Există două tipuri de strategii de replicare în Cassandra.

SimplaStrategy în Cassandra

SimpluStrategy este utilizat atunci când aveți un singur centru de date. SimpleStrategy plasează prima replică pe nodul selectat de partitioner. După aceea, replicile rămase sunt plasate în sensul acelor de ceasornic în inelul Nod.

Iată reprezentarea picturală a SimpleStrategy:

SimplaStrategy în Cassandra
SimplaStrategy în Cassandra

NetworkTopologyStrategia în Cassandra

NetworkTopologyStrategy este utilizat atunci când aveți mai mult de două centre de date. În NetworkTopologyStrategy, replicile sunt setate pentru fiecare centru de date separat. NetworkTopologyStrategy plasează replici în sensul acelor de ceasornic în inel până când ajunge la primul nod dintr-un alt rack. Această strategie încearcă să plaseze replici pe diferite rafturi în același centru de date.

Acest lucru se datorează motivului pentru care uneori pot apărea defecțiuni sau probleme în rack. Apoi, replicile de pe alte noduri pot furniza date.

Iată reprezentarea grafică a strategiei de topologie a rețelei:

NetworkTopologyStrategia în Cassandra
NetworkTopologyStrategia în Cassandra

Scrie Operație în Cassandra

Coordonatorul trimite o cerere de scriere către replici. Dacă toate replicile sunt în stare de funcționare, vor primi o cerere de scriere, indiferent de nivelul lor de consistență.

Nivel de consistență determină câte noduri vor răspunde înapoi cu confirmarea succesului.

Nodul va răspunde înapoi cu confirmarea succesului dacă datele sunt scrise cu succes în jurnalul de comitere și memTable.

De exemplu, într-un singur centru de date cu factor de replicare egal cu trei, trei replici vor primi cerere de scriere. Dacă nivelul de consistență este unul, doar o replică va răspunde cu confirmarea succesului, iar celelalte două vor rămâne latente.

Să presupunem că două replici rămase pierd date din cauza căderii nodurilor sau a unei alte probleme, Cassandra va face rândul consistent prin mecanismul de reparare încorporat în Cassandra.

Aici este explicat cum are loc procesul de scriere Cassandra,

  1. Când cererea de scriere vine la nod, în primul rând, se înregistrează în jurnalul de comitere.
  2. "Atunci Cassandra scrie datele în tabelul mem. Datele scrise în tabelul mem pentru fiecare solicitare de scriere sunt, de asemenea, scrise separat în jurnalul de comitere. Mem-table este o dată stocată temporar în memorie, în timp ce Commit log înregistrează înregistrările tranzacțiilor în scopuri de backup.
  3. Când mem-table este plin, datele sunt eliminate în fișierul de date SSTable.
Scrie Operație în Cassandra
Scrie Operație în Cassandra

Citeste Operație în Cassandra

Există trei tipuri de solicitări de citire pe care un coordonator le trimite la replici.

  1. Cerere directă
  2. Cerere de rezumat
  3. Citiți cererea de reparație

Coordonatorul trimite cererea directă uneia dintre replici. După aceea, coordonatorul trimite cererea de rezumat la numărul de replici specificat de nivelul de consistență și verifică dacă datele returnate sunt date actualizate.

După aceea, coordonatorul trimite cererea de rezumat la toate replicile rămase. Dacă vreun nod oferă o valoare depășită, o solicitare de reparare a citirii în fundal va actualiza datele respective. Acest proces se numește mecanism de reparare a citirii.

Rezumat

  • Acest tutorial explică Cassandra arhitectura internă și cum Cassandra replică, scrie și citește date în diferite etape.
  • De asemenea, aici se explică cum Cassandra menține nivelul de consistență pe tot parcursul procesului.
  • Componente ale Cassandra Architectură: nod, centru de date, Cluster, Commit Log, Mem-table, SSTable
  • Un factor de replicare înseamnă că există o singură copie a datelor, în timp ce trei factori de replicare înseamnă că există trei copii ale datelor pe trei noduri diferite.
  • SimpleStrategy este utilizat atunci când aveți un singur centru de date.
  • NetworkTopologyStrategy este utilizat atunci când aveți mai mult de două centre de date.