Kasandras arhitektūra & Replikācijas faktora stratēģija

Satura rādītājs:

Anonim

Kasandra ir paredzēta lielu datu apstrādei. Kasandras galvenā iezīme ir datu glabāšana vairākos mezglos bez viena neveiksmes punkta.

Šāda veida Kasandras arhitektūras iemesls bija tas, ka aparatūras kļūme var notikt jebkurā laikā. Jebkurš mezgls var būt uz leju. Neveiksmes gadījumā var izmantot citā mezglā saglabātos datus. Tādējādi Kasandra ir veidota ar tās izplatīto arhitektūru.

Kasandra saglabā datus par dažādiem mezgliem ar vienādranga izplatītu modes arhitektūru.

Visi mezgli apmainās ar informāciju, izmantojot Gossip protokolu . Tenkas ir Kasandras protokols, ar kura palīdzību mezgli var sazināties savā starpā.

Šajā apmācībā jūs uzzināsiet

  • Kasandras sastāvdaļas
  • Datu replikācija
  • Rakstīšanas operācija
  • Izlasiet darbību

Kasandras sastāvdaļas

Kasandrā ir šādas sastāvdaļas;

Kasandras arhitektūras shēma
  • Mezgls

    Mezgls ir vieta, kur tiek glabāti dati. Tas ir Kasandras pamatkomponents.

  • Datu centrs

    Mezglu kolekciju sauc par datu centru. Daudzi mezgli tiek klasificēti kā datu centrs.

  • Kopa

    Klasteris ir daudzu datu centru kolekcija.

  • Izpildīt žurnālu

    Katra rakstīšanas operācija tiek ierakstīta Commit Log. Apņemšanās žurnāls tiek izmantots avārijas atkopšanai.

  • Mem-galds

    Pēc datiem, kas ierakstīti saistību žurnālā, dati tiek ierakstīti Mem-tabulā. Dati uz laiku tiek ierakstīti Mem-tabulā.

  • SSTable

    Kad Mem-table sasniedz noteiktu slieksni, dati tiek izvadīti uz SSTable diska failu.

Datu replikācija

Tā kā datu apstrādes laikā var rasties aparatūras problēma vai saite var būt nederīga, ir nepieciešams risinājums, lai nodrošinātu rezerves kopiju, kad problēma ir notikusi. Tātad dati tiek atkārtoti, lai nodrošinātu nevienu kļūmes punktu.

Kasandra ievieto datu kopijas dažādos mezglos, pamatojoties uz šiem diviem faktoriem.

  • Kur ievietot nākamo kopiju, nosaka replicēšanas stratēģija .
  • Kaut arī kopiju, kas izvietoti dažādos mezglos, kopējo skaitu nosaka replikācijas koeficients .

Viens replikācijas koeficients nozīmē, ka ir tikai viena datu kopija, bet trīs replikācijas koeficients nozīmē, ka trīs dažādos mezglos ir trīs datu kopijas.

Lai nodrošinātu, ka nav viena kļūmes punkta, replikācijas koeficientam jābūt trīs.

Kasandrā ir divu veidu replikācijas stratēģijas.

SimpleStrategy

SimpleStrategy tiek izmantots, ja jums ir tikai viens datu centrs. SimpleStrategy ievieto pirmo kopiju nodalītāja izvēlētajā mezglā. Pēc tam atlikušās kopijas tiek novietotas pulksteņrādītāja kustības virzienā mezgla gredzenā.

Šeit ir attēlots SimpleStrategy attēls.

NetworkTopologyStrategy

NetworkTopologyStrategy tiek izmantota, ja jums ir vairāk nekā divi datu centri.

Programmā NetworkTopologyStrategy kopijas tiek iestatītas katram datu centram atsevišķi. NetworkTopologyStrategy ievieto kopijas gredzenā pulksteņrādītāja kustības virzienā, līdz sasniedz citu mezglu pirmo mezglu.

Šī stratēģija mēģina izvietot kopijas uz dažādiem plauktiem vienā un tajā pašā datu centrā. Tas ir saistīts ar iemeslu, ka dažreiz plaukts var rasties kļūme vai problēma. Tad citu mezglu kopijas var sniegt datus.

Šeit ir tīkla topoloģijas stratēģijas attēlojums

Rakstīšanas operācija

Koordinators nosūta rakstīšanas pieprasījumu kopijām. Ja visas kopijas ir uz augšu, viņi saņem rakstīšanas pieprasījumu neatkarīgi no to konsekvences līmeņa.

Konsekvences līmenis nosaka, cik mezglu atbildēs ar veiksmes apstiprinājumu.

Mezgls atbildēs ar veiksmes apstiprinājumu, ja dati tiks veiksmīgi ierakstīti saistību žurnālā un memTable.

Piemēram, vienā datu centrā ar replikācijas koeficientu ir vienāds ar trim, trīs kopijas saņems rakstīšanas pieprasījumu. Ja konsekvences līmenis ir viens, tikai viena kopija atbildēs ar panākumu apstiprinājumu, un atlikušās divas paliks neaktīvas.

Pieņemsim, ka, ja atlikušās divas kopijas zaudē datus mezglu samazināšanās vai kādas citas problēmas dēļ, Kasandra padarīs rindu konsekventu ar iebūvēto Kasandras labošanas mehānismu.

Šeit ir paskaidrots, kā Kasandrā notiek rakstīšanas process,

  1. Kad mezglā ir rakstīšanas pieprasījums, tas vispirms tiek reģistrēts saistību žurnālā.
  2. Tad Kasandra raksta datus mem-tabulā. Dati, kas ierakstīti mem-tabulā par katru rakstīšanas pieprasījumu, arī tiek ierakstīti saistību žurnālā atsevišķi. Mem-table ir īslaicīgi saglabāti dati atmiņā, kamēr Commit žurnāls reģistrē darījumu ierakstus dublēšanas nolūkos.
  3. Kad atmiņas tabula ir pilna, dati tiek izvadīti uz SSTable datu failu.

Izlasiet darbību

Ir trīs veidu lasīšanas pieprasījumi, kurus koordinators nosūta kopijām.

  1. Tiešs pieprasījums
  2. Digest pieprasījums
  3. Lasīt remonta pieprasījumu

Koordinators nosūta tiešu pieprasījumu vienai no kopijām. Pēc tam koordinators nosūta apkopojuma pieprasījumu uz kopiju skaitu, kas norādīts konsekvences līmenī, un pārbauda, ​​vai atgrieztie dati ir atjaunināti dati.

Pēc tam koordinators nosūta kopsavilkuma pieprasījumu visām atlikušajām kopijām. Ja kāds mezgls norāda novecojušu vērtību, fona lasīšanas labošanas pieprasījums atjauninās šos datus. Šo procesu sauc par lasīšanas labošanas mehānismu.

Kopsavilkums

Šī apmācība izskaidro Kasandras iekšējo arhitektūru un to, kā Kasandra atkārto, raksta un nolasa datus dažādos posmos. Turklāt šeit ir paskaidrots par to, kā Kasandra saglabā konsistences līmeni visā procesā.