Cassandra Architektuur ja replikatsioonitegur

Cassandra on mรตeldud kรคsitsema Big andmed. CassandraPeamine funktsioon on andmete salvestamine mitmesse sรตlme ilma รผhe tรตrkepunktita.

Pรตhjus selliseks CassandraArhitektuur seisnes selles, et riistvaratรตrge vรตib ilmneda igal ajal. Iga sรตlm vรตib olla maas. Rikke korral saab kasutada teises sรตlmes salvestatud andmeid. Seega Cassandra on kujundatud hajutatud arhitektuuriga.

Cassandra salvestab andmeid erinevate sรตlmede kohta peer to peer hajutatud moearhitektuuriga.

Kรตik sรตlmed vahetavad omavahel teavet kasutades Kรตmuprotokoll. Kuulujutt on protokoll sees Cassandra mille kaudu sรตlmed saavad omavahel suhelda.

. \ T Cassandra Architektuur

Selles on jรคrgmised komponendid Cassandra ArchiStruktuur:

Cassandra Architektuur
Cassandra Architektuuri diagramm

sรตlme

Sรตlm on koht, kus andmeid salvestatakse. See on pรตhikomponent Cassandra.

Andmekeskus

Sรตlmede kogumit nimetatakse andmekeskuseks. Paljud sรตlmed on liigitatud andmekeskusteks.

Cluster

Klaster on paljude andmekeskuste kogu.

Kinnituslogi

Iga kirjutamistoiming kirjutatakse sissekandmislogi. Sidumislogi kasutatakse krahhi taastamiseks.

Mem-laud

Pรคrast Commit logisse kirjutatud andmeid kirjutatakse andmed Mem-tabelisse. Andmed kirjutatakse ajutiselt Mem-tabelisse.

SSTable

Kui mรคlutabel saavutab teatud lรคve, loputatakse andmed SSTable-kettafaili.

Andmete replikatsioon sisse Cassandra

Kuna andmetรถรถtluse ajal vรตib igal ajal tekkida riistvaraprobleem vรตi link vรตib katkeda, on probleemi ilmnemisel vaja lahendust varukoopia tegemiseks. Nii et andmeid kopeeritakse, et tagada รผhegi tรตrkepunkti puudumine.

Cassandra paigutab nende kahe teguri pรตhjal andmete koopiad erinevatesse sรตlmedesse.

  • Kuhu jรคrgmine koopia paigutada, mรครคrab Replikatsioonistrateegia.
  • Kuigi erinevatele sรตlmedele paigutatud koopiate koguarvu mรครคrab Replikatsioonitegur.

รœks replikatsioonitegur tรคhendab, et andmetest on ainult รผks koopia, samas kui kolm replikatsioonitegurit tรคhendab, et kolmes erinevas sรตlmes on kolm andmete koopiat.

Kindlustamaks, et pole รผhtegi tรตrkepunkti, replikatsioonitegur peab olema kolm.

Seal on kahte tรผรผpi replikatsioonistrateegiaid Cassandra.

SimpleStrategy sisse Cassandra

Lihtne strateegia kasutatakse siis, kui teil on ainult รผks andmekeskus. SimpleStrategy asetab esimese koopia partitsioonija valitud sรตlme. Pรคrast seda asetatakse รผlejรครคnud koopiad pรคripรคeva sรตlmerรตngasse.

Siin on SimpleStrategy pildiline esitus:

SimpleStrategy sisse Cassandra
SimpleStrategy sisse Cassandra

NetworkTopologyStrategy in Cassandra

Vรตrgutopoloogiastrateegia kasutatakse, kui teil on rohkem kui kaks andmekeskust. Programmis NetworkTopologyStrategy mรครคratakse koopiad iga andmekeskuse jaoks eraldi. NetworkTopologyStrategy paigutab koopiad rรตngasse pรคripรคeva, kuni jรตuab teise riiuli esimese sรตlmeni. See strateegia pรผรผab paigutada koopiad sama andmekeskuse erinevatele riiulitele.

Selle pรตhjuseks on pรตhjus, et riiulis vรตib mรตnikord tekkida rike vรตi probleem. Seejรคrel saavad andmeid esitada teistes sรตlmedes olevad koopiad.

Siin on vรตrgu topoloogia strateegia piltlik esitus:

NetworkTopologyStrategy in Cassandra
NetworkTopologyStrategy in Cassandra

Kirjutama Operasisse Cassandra

Koordinaator saadab koopiatele kirjutamistaotluse. Kui kรตik koopiad on รผleval, saavad nad kirjutamistaotluse olenemata nende jรคrjepidevuse tasemest.

Jรคrjepidevuse tase mรครคrab, kui palju sรตlme vastab edukinnitusega.

Sรตlm vastab edukinnitusega, kui andmed on edukalt sisestamise logisse kirjutatud ja memTabel.

Nรคiteks รผhes andmekeskuses, mille replikatsioonitegur on kolm, saavad kolm koopiat kirjutamistaotluse. Kui jรคrjepidevuse tase on รผks, vastab ainult รผks koopia edukinnitusega ja รผlejรครคnud kaks jรครคvad seisma.

Oletame, et kui รผlejรครคnud kaks koopiat kaotavad andmed sรตlmede languse vรตi mรตne muu probleemi tรตttu, Cassandra muudab rea jรคrjepidevaks sisseehitatud parandusmehhanismi abil Cassandra.

Siin selgitatakse, kuidas kirjutamisprotsess toimub Cassandra,

  1. Kui sรตlme saabub kirjutamistaotlus, logib see esmalt sissekandmislogi.
  2. Siis Cassandra kirjutab andmed mem-tabelisse. Iga kirjutuspรคringu kohta mem-tabelisse kirjutatud andmed kirjutavad eraldi ka sissekandmislogi. Mem-tabel on ajutiselt mรคllu salvestatud andmed, samas kui Commit log logib tehingukirjed varundamiseks.
  3. Kui mรคlutabel on tรคis, loputatakse andmed SSTable andmefaili.
Kirjutama Operasisse Cassandra
Kirjutama Operasisse Cassandra

Lugenud Operasisse Cassandra

Koordinaator saadab koopiatele kolme tรผรผpi lugemistaotlusi.

  1. Otsene taotlus
  2. Kokkuvรตtte taotlus
  3. Lugege remonditaotlust

Koordinaator saadab otsepรคringu รผhele koopiale. Pรคrast seda saadab koordinaator kokkuvรตtte pรคringu konsistentsi tasemega mรครคratud arvule replikatele ja kontrollib, kas tagastatud andmed on vรคrskendatud andmed.

Pรคrast seda saadab koordinaator kokkuvรตtte pรคringu kรตigile รผlejรครคnud koopiatele. Kui mรตni sรตlm annab aegunud vรครคrtuse, vรคrskendab taustal lugemise parandustaotlus neid andmeid. Seda protsessi nimetatakse lugemise parandamise mehhanismiks.

kokkuvรตte

  • See รตpetus selgitab Cassandra sisearhitektuur ja kuidas Cassandra kordab, kirjutab ja loe andmeid erinevates etappides.
  • Samuti selgitatakse siin, kuidas Cassandra sรคilitab jรคrjepidevuse taseme kogu protsessi vรคltel.
  • . \ T Cassandra Architektuur: sรตlm, andmekeskus, Cluster, Kinnitamise logi, Mem-tabel, SSTable
  • รœks replikatsioonitegur tรคhendab, et andmetest on ainult รผks koopia, samas kui kolm replikatsioonitegurit tรคhendab, et kolmes erinevas sรตlmes on kolm andmete koopiat.
  • SimpleStrategyt kasutatakse siis, kui teil on ainult รผks andmekeskus.
  • NetworkTopologyStrategy kasutatakse siis, kui teil on rohkem kui kaks andmekeskust.

Vรตta see postitus kokku jรคrgmiselt: