Cassandra ArchiTecture & Replication Factor

Cassandra on suunniteltu käsittelemään Big Data. CassandraPääominaisuus on tallentaa tietoja useisiin solmuihin ilman yhtä vikakohtaa.

Syynä tällaiseen CassandraArkkitehtuuri oli, että laitteistovika voi tapahtua milloin tahansa. Mikä tahansa solmu voi olla alhaalla. Vian sattuessa voidaan käyttää toiseen solmuun tallennettuja tietoja. Siten, Cassandra on suunniteltu hajautetulla arkkitehtuurillaan.

Cassandra tallentaa tietoja eri solmuista peer to peer -hajautetulla muotiarkkitehtuurilla.

Kaikki solmut vaihtavat tietoja keskenään käyttämällä Juoruprotokolla. Juorut ovat protokolla Cassandra joiden avulla solmut voivat kommunikoida keskenään.

Komponentit Cassandra Archirakenne

Siinä on seuraavat komponentit Cassandra Archirakenne:

Cassandra Archirakenne
Cassandra Architecture Kaavio

Solmu

Solmu on paikka, johon tiedot tallennetaan. Se on peruskomponentti Cassandra.

Data Center

Solmujen kokoelmaa kutsutaan datakeskukseksi. Monet solmut on luokiteltu tietokeskuksiksi.

Cluster

Klusteri on monien datakeskusten kokoelma.

Sitoumusloki

Jokainen kirjoitustoiminto kirjoitetaan toimituslokiin. Toimituslokia käytetään kaatumisen palauttamiseen.

Muistipöytä

Toimituslokiin kirjoitetun tiedon jälkeen tiedot kirjoitetaan Mem-taulukkoon. Tiedot kirjoitetaan väliaikaisesti Mem-taulukkoon.

SSTable

Kun Mem-taulukko saavuttaa tietyn kynnyksen, tiedot tyhjennetään SSTable-levytiedostoon.

Tietojen replikointi sisään Cassandra

Koska laitteisto-ongelma tai linkki voi olla poissa milloin tahansa tietojenkäsittelyn aikana, tarvitaan ratkaisu varmuuskopion luomiseksi, kun ongelma on ilmennyt. Joten tiedot kopioidaan, jotta varmistetaan, ettei yksittäinen vikakohta ole.

Cassandra sijoittaa datakopioita eri solmuihin näiden kahden tekijän perusteella.

  • Seuraavan replikan sijoituspaikka määrittää Replikointistrategia.
  • Vaikka eri solmuihin sijoitettujen replikoiden kokonaismäärä määräytyy Replikointitekijä.

Yksi replikointitekijä tarkoittaa, että tiedoista on vain yksi kopio, kun taas kolme replikointitekijää tarkoittaa, että tiedoista on kolme kopiota kolmessa eri solmussa.

Varmistaakseen, että ei ole yhtä vikakohtaa, replikointitekijän on oltava kolme.

Siinä on kahdenlaisia ​​replikointistrategioita Cassandra.

SimpleStrategy sisään Cassandra

Yksinkertainen strategia käytetään, kun sinulla on vain yksi datakeskus. SimpleStrategy sijoittaa ensimmäisen replikan osioinnin valitsemaan solmuun. Sen jälkeen loput replikat sijoitetaan myötäpäivään solmurenkaaseen.

Tässä on kuvallinen esitys SimpleStrategysta:

SimpleStrategy sisään Cassandra
SimpleStrategy sisään Cassandra

NetworkTopologyStrategy sisään Cassandra

NetworkTopologyStrategy käytetään, kun sinulla on enemmän kuin kaksi datakeskusta. NetworkTopologyStrategyssa kopiot asetetaan jokaiselle datakeskukselle erikseen. NetworkTopologyStrategy sijoittaa replikat myötäpäivään renkaaseen, kunnes se saavuttaa toisen telineen ensimmäisen solmun. Tämä strategia yrittää sijoittaa replikoita eri telineisiin samassa palvelinkeskuksessa.

Tämä johtuu siitä, että telineessä voi joskus ilmetä vika tai ongelma. Sitten muiden solmujen replikat voivat tarjota tietoja.

Tässä on kuvallinen esitys verkkotopologiastrategiasta:

NetworkTopologyStrategy sisään Cassandra
NetworkTopologyStrategy sisään Cassandra

Kirjoittaa Operavuonna Cassandra

Koordinaattori lähettää kopioille kirjoituspyynnön. Jos kaikki kopiot ovat valmiina, ne saavat kirjoituspyynnön johdonmukaisuustasosta riippumatta.

Johdonmukaisuustaso määrittää, kuinka monta solmua vastaa onnistumisvahvistuksella.

Solmu vastaa onnistumiskuittauksella, jos tiedot kirjoitetaan onnistuneesti toimituslokiin ja muistitaulukko.

Esimerkiksi yhdessä datakeskuksessa, jonka replikointikerroin on kolme, kolme replikaa vastaanottaa kirjoituspyynnön. Jos johdonmukaisuustaso on yksi, vain yksi replika vastaa onnistumisilmoituksella, ja loput kaksi pysyvät lepotilassa.

Oletetaan, että kaksi jäljellä olevaa replikaa menettää tietoja solmujen laskun tai muun ongelman vuoksi, Cassandra tekee rivistä yhtenäisen sisäänrakennetun korjausmekanismin ansiosta Cassandra.

Tässä selitetään, kuinka kirjoitusprosessi tapahtuu Cassandra,

  1. Kun solmulle tulee kirjoituspyyntö, se kirjautuu ensin toimituslokiin.
  2. Sitten Cassandra kirjoittaa tiedot mem-taulukkoon. Jokaisen kirjoituspyynnön mem-taulukkoon kirjoitetut tiedot kirjoitetaan myös toimituslokiin erikseen. Mem-taulukko on väliaikaisesti muistiin tallennettu tieto, kun taas Commit log kirjaa tapahtumatietueet varmuuskopiointia varten.
  3. Kun muistitaulukko on täynnä, tiedot huuhdellaan SSTable-datatiedostoon.
Kirjoittaa Operavuonna Cassandra
Kirjoittaa Operavuonna Cassandra

Lue Operavuonna Cassandra

Koordinaattori lähettää replikoihin kolmenlaisia ​​lukupyyntöjä.

  1. Suora pyyntö
  2. Tiivistelmäpyyntö
  3. Lue korjauspyyntö

Koordinaattori lähettää suoran pyynnön yhdelle replikoista. Tämän jälkeen koordinaattori lähettää tiivistelmäpyynnön johdonmukaisuustason määrittämälle määrälle replikoita ja tarkistaa, onko palautettu data päivitettyä dataa.

Tämän jälkeen koordinaattori lähettää tiivistelmäpyynnön kaikille jäljellä oleville replikoille. Jos jokin solmu antaa vanhentuneen arvon, taustalukukorjauspyyntö päivittää tiedot. Tätä prosessia kutsutaan lukukorjausmekanismiksi.

Yhteenveto

  • Tämä opetusohjelma selittää Cassandra sisäinen arkkitehtuuri ja miten Cassandra replikoi, kirjoittaa ja lukee tietoja eri vaiheissa.
  • Tässä myös selitetään kuinka Cassandra säilyttää yhtenäisyystason koko prosessin ajan.
  • Komponentit Cassandra Archirakenne: Node, Data Center, Cluster, Toimitusloki, Mem-taulukko, SSTable
  • Yksi replikointitekijä tarkoittaa, että tiedoista on vain yksi kopio, kun taas kolme replikointitekijää tarkoittaa, että tiedoista on kolme kopiota kolmessa eri solmussa.
  • SimpleStrategya käytetään, kun sinulla on vain yksi palvelinkeskus.
  • NetworkTopologyStrategy-ohjelmaa käytetään, kun sinulla on enemmän kuin kaksi datakeskusta.