Cassandra Architecture & Replication Factor
Cassandra kezelésére tervezték Big adatok. CassandraA fő jellemzője, hogy több csomóponton tárolja az adatokat egyetlen hibapont nélkül.
Az oka ennek a fajta CassandraAz architektúra az volt, hogy a hardverhiba bármikor előfordulhat. Bármely csomópont leállhat. Meghibásodás esetén egy másik csomópontban tárolt adatok használhatók. Ezért, Cassandra elosztott architektúrájával tervezték.
Cassandra különböző csomópontokon tárol adatokat egy peer to peer elosztott divatarchitektúrával.
Az összes csomópont információt cserél egymással a használatával Pletyka protokoll. A pletyka egy protokoll Cassandra amellyel a csomópontok kommunikálni tudnak egymással.
A Cassandra Architectúra
A következő összetevőket tartalmazza Cassandra Architectúra:
Csomópont
A csomópont az a hely, ahol az adatokat tárolják. Ez az alapvető összetevője Cassandra.
Adatközpont
A csomópontok gyűjteményét adatközpontnak nevezzük. Sok csomópont adatközpontként van besorolva.
Cluster
A fürt számos adatközpont gyűjteménye.
Végrehajtási napló
Minden írási művelet a véglegesítési naplóba kerül. A végrehajtási napló az összeomlás helyreállítására szolgál.
Mem-tábla
A Commit naplóba írt adatok után az adatok a Mem-táblázatba kerülnek. Az adatok ideiglenesen a Mem-táblába kerülnek.
SSTable
Amikor a Mem-tábla elér egy bizonyos küszöböt, az adatok egy SSTable lemezfájlba kerülnek.
Adatreplikáció be Cassandra
Mivel az adatfeldolgozás során bármikor előfordulhat hardverprobléma, vagy a kapcsolat leállhat, megoldásra van szükség a biztonsági másolat készítéséhez, amikor a probléma fellép. Így az adatok replikálódnak, hogy ne legyen egyetlen hibapont sem.
Cassandra e két tényező alapján különböző csomópontokra helyezi el az adatok replikáit.
- A következő replika elhelyezésének helyét a Replikációs stratégia.
- Míg a különböző csomópontokon elhelyezett replikák teljes számát a Replikációs tényező.
Az egy replikációs faktor azt jelenti, hogy az adatoknak csak egyetlen példánya van, míg a három replikációs faktor azt jelenti, hogy három különböző csomóponton van három másolat.
Annak érdekében, hogy ne legyen egyetlen hibapont, A replikációs faktornak háromnak kell lennie.
Kétféle replikációs stratégia létezik Cassandra.
SimpleStrategy in Cassandra
SimpleStrategy akkor használatos, ha csak egy adatközpontja van. A SimpleStrategy az első replikát a particionáló által kiválasztott csomópontra helyezi. Ezt követően a fennmaradó replikákat az óramutató járásával megegyező irányban helyezzük el a csomóponti gyűrűben.
Íme a SimpleStrategy képi ábrázolása:
NetworkTopologyStrategy in Cassandra
NetworkTopologyStrategy akkor használatos, ha kettőnél több adatközpontja van. A NetworkTopologyStrategy programban a replikák minden adatközponthoz külön vannak beállítva. A NetworkTopologyStrategy az óramutató járásával megegyező irányban helyezi el a replikákat a gyűrűben, amíg el nem éri egy másik rack első csomópontját. Ez a stratégia megpróbálja a replikákat ugyanabban az adatközpontban különböző állványokon elhelyezni.
Ennek az az oka, hogy néha meghibásodás vagy probléma léphet fel az állványban. Ezután a más csomópontokon lévő replikák szolgáltathatnak adatokat.
Íme a hálózati topológia stratégia képi ábrázolása:
Ír Operabe Cassandra
A koordinátor írási kérelmet küld a replikáknak. Ha az összes replika fent van, akkor írási kérést kapnak, függetlenül a konzisztencia szintjétől.
Konzisztencia szint meghatározza, hogy hány csomópont válaszol vissza a siker visszaigazolásával.
A csomópont a siker visszaigazolásával válaszol, ha az adatok sikeresen beírásra kerültek a véglegesítési naplóba, és memTable.
Például egyetlen adatközpontban, amelynek replikációs tényezője három, három replika kap írási kérést. Ha a konzisztencia szintje egy, akkor csak egy replika válaszol vissza a siker visszaigazolásával, a maradék kettő pedig alvó állapotban marad.
Tegyük fel, ha a fennmaradó két replika elveszíti az adatokat csomópont-leállás vagy más probléma miatt, Cassandra egységessé teszi a sort a beépített javítómechanizmussal Cassandra.
Itt elmagyarázzuk, hogyan megy végbe az írási folyamat Cassandra,
- Amikor írási kérés érkezik a csomóponthoz, mindenekelőtt bejelentkezik a véglegesítési naplóba.
- Majd Cassandra beírja az adatokat a mem-táblába. A mem-táblába írt adatok minden írási kérésnél külön is íródnak a véglegesítési naplóba. A mem-tábla egy ideiglenesen tárolt adat a memóriában, míg a Commit log naplózza a tranzakciós rekordokat biztonsági mentés céljából.
- Amikor a mem-table megtelt, az adatok az SSTable adatfájlba kerülnek.
Olvass Operabe Cassandra
Háromféle olvasási kérés létezik, amelyeket a koordinátor küld a replikáknak.
- Közvetlen kérés
- Digest kérés
- Olvassa el a javítási kérelmet
A koordinátor közvetlen kérést küld az egyik replikának. Ezt követően a koordinátor elküldi a kivonatkérést a konzisztenciaszint által meghatározott számú replikának, és ellenőrzi, hogy a visszaadott adat frissített adat-e.
Ezt követően a koordinátor kivonatkérést küld az összes fennmaradó replikának. Ha bármely csomópont elavult értéket ad, a háttérben történő olvasási javítási kérelem frissíti az adatokat. Ezt a folyamatot olvasási javítási mechanizmusnak nevezik.
Összegzésként
- Ez az oktatóanyag elmagyarázza a Cassandra belső architektúra, és hogyan Cassandra replikál, ír és olvas adatokat különböző szakaszokban.
- Ezenkívül itt elmagyarázza, hogyan Cassandra fenntartja a konzisztencia szintet az egész folyamat során.
- A Cassandra Architechnológia: csomópont, adatközpont, Cluster, Commit Log, Mem-table, SSTable
- Az egy replikációs faktor azt jelenti, hogy az adatoknak csak egyetlen példánya van, míg a három replikációs faktor azt jelenti, hogy három különböző csomóponton van három másolat.
- A SimpleStrategy akkor használatos, ha csak egy adatközpontja van.
- A NetworkTopologyStrategy akkor használatos, ha kettőnél több adatközpontja van.