Cassandran arkkitehtuuri & Replikointikerroinstrategia

Sisällysluettelo:

Anonim

Cassandra on suunniteltu käsittelemään isoja tietoja. Cassandran pääominaisuus on tallentaa tietoja useisiin solmuihin ilman yhtä vikaantumispistettä.

Syy tällaiseen Cassandran arkkitehtuuriin oli, että laitteistovika voi tapahtua milloin tahansa. Mikä tahansa solmu voi olla alhaalla. Vikatapauksissa voidaan käyttää toiseen solmuun tallennettuja tietoja. Siksi Cassandra on suunniteltu hajautetulla arkkitehtuurillaan.

Cassandra tallentaa tietoja eri solmuista peer to peer hajautetun muotiarkkitehtuurin kanssa.

Kaikki solmut vaihtavat tietoja keskenään Gossip-protokollan avulla . Gossip on Cassandran protokolla, jonka avulla solmut voivat olla yhteydessä toisiinsa.

Tässä opetusohjelmassa opit-

  • Cassandran komponentit
  • Tietojen replikointi
  • Kirjoitustoiminto
  • Lue käyttö

Cassandran komponentit

Cassandrassa on seuraavia komponentteja;

Cassandra-arkkitehtuurikaavio
  • Solmu

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

  • Palvelinkeskus

    Solmujen kokoelmaa kutsutaan datakeskukseksi. Monet solmut luokitellaan datakeskuksiksi.

  • Klusteri

    Klusteri on monien palvelinkeskusten kokoelma.

  • Suorita loki

    Jokainen kirjoitusoperaatio kirjoitetaan Commit Log -ohjelmaan. Commit-lokia käytetään kaatumisen palauttamiseen.

  • Mem-pöytä

    Commit-lokiin kirjoitettujen tietojen jälkeen tiedot kirjoitetaan Mem-taulukkoon. Tiedot kirjoitetaan Mem-taulukkoon väliaikaisesti.

  • SSTable

    Kun Mem-taulukko saavuttaa tietyn kynnyksen, tiedot huuhdellaan SSTable-levytiedostoon.

Tietojen replikointi

Koska laitteisto-ongelmia voi esiintyä tai linkki voi olla poissa milloin tahansa dataprosessin aikana, tarvitaan ratkaisu varmuuskopion tarjoamiseksi ongelman ilmetessä. Joten tiedot toistetaan, jotta varmistetaan, ettei yksikään vikapiste ole.

Cassandra sijoittaa kopiot tiedoista eri solmuihin näiden kahden tekijän perusteella.

  • Minne sijoittaa seuraava kopio, määrää Replikointistrategia .
  • Vaikka eri solmuihin sijoitettujen kopioiden kokonaismäärä määräytyy replikaatiotekijän avulla .

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

Varmistamiseksi, ettei ole olemassa yhtä vikaantumispistettä, replikaatiokertoimen on oltava kolme.

Cassandrassa on kahdenlaisia ​​replikointistrategioita.

Yksinkertainen strategia

SimpleStrategyä käytetään, kun sinulla on vain yksi palvelinkeskus. SimpleStrategy sijoittaa ensimmäisen kopion osion valitsemaan solmuun. Sen jälkeen jäljellä olevat jäljennökset sijoitetaan myötäpäivään Solmu-renkaaseen.

Tässä on kuvallinen esitys SimpleStrategystä.

Verkkotopologiastrategia

NetworkTopologyStrategyä käytetään, kun sinulla on enemmän kuin kaksi palvelinkeskusta.

NetworkTopologyStrategy-sovelluksessa kopiot asetetaan kullekin palvelinkeskukselle erikseen. NetworkTopologyStrategy sijoittaa kopiot myötäpäivään renkaaseen, kunnes se saavuttaa toisen telineen ensimmäisen solmun.

Tämä strategia yrittää sijoittaa kopioita eri telineisiin samaan palvelinkeskukseen. Tämä johtuu siitä, että telineessä voi joskus esiintyä vikoja tai ongelmia. Sitten muiden solmujen kopiot voivat tuottaa tietoja.

Tässä on kuvallinen esitys verkon topologiastrategiasta

Kirjoitustoiminto

Koordinaattori lähettää kirjoituspyynnön kopioihin. Jos kaikki jäljennökset ovat ylöspäin, he saavat kirjoituspyynnön niiden yhdenmukaisuustasosta riippumatta.

Johdonmukaisuuden taso määrittää, kuinka monta solmua vastaa takaisin onnistumisen kuittauksella.

Solmu vastaa takaisin onnistumisen kuittauksella, jos tiedot kirjoitetaan onnistuneesti sitoutumislokiin ja memTable-taulukkoon.

Esimerkiksi yhdessä datakeskuksessa, jonka replikointikerroin on yhtä suuri kuin kolme, kolme kopiota vastaanottaa kirjoituspyynnön. Jos johdonmukaisuustaso on yksi, vain yksi kopio vastaa takaisin onnistumisvahvistuksella, ja loput kaksi pysyvät lepotilassa.

Oletetaan, että jos jäljellä olevat kaksi kopiota menettävät tietoja solmujen laskun tai muun ongelman vuoksi, Cassandra tekee rivistä yhdenmukaisen Cassandran sisäänrakennetun korjausmekanismin avulla.

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

  1. Kun solmuun tulee kirjoituspyyntö, se kirjautuu ensinnäkin sitoutuslokiin.
  2. Sitten Cassandra kirjoittaa tiedot muistitaulukkoon. Jokaisen kirjoituspyynnön muistitaulukkoon kirjoitetut tiedot kirjoitetaan myös sitoutumislokiin erikseen. Mem-taulukko on väliaikaisesti tallennettu data muistiin, kun taas Commit-loki kirjaa tapahtumatiedot varmuuskopiointia varten.
  3. Kun muistitaulukko on täynnä, tiedot huuhdellaan SSTable-tiedostoon.

Lue käyttö

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

  1. Suora pyyntö
  2. Digest-pyyntö
  3. Lue korjauspyyntö

Koordinaattori lähettää suoran pyynnön toiselle kopiolle. Tämän jälkeen koordinaattori lähettää tiivistelmäpyynnön johdonmukaisuustason määrittelemään kopioiden määrään ja tarkistaa, ovatko palautetut tiedot päivitettyjä tietoja.

Tämän jälkeen koordinaattori lähettää yhteenvetopyynnön kaikille jäljelle jääneille kopioille. Jos jokin solmu antaa vanhentuneen arvon, taustaluvun korjauspyyntö päivittää kyseiset tiedot. Tätä prosessia kutsutaan lukukorjausmekanismiksi.

Yhteenveto

Tässä opetusohjelmassa selitetään Cassandran sisäinen arkkitehtuuri ja kuinka Cassandra kopioi, kirjoittaa ja lukee tietoja eri vaiheissa. Tässä kerrotaan myös, kuinka Cassandra ylläpitää johdonmukaisuustasoa koko prosessin ajan.