Mi a Cassandra?
A Cassandra egy NoSQL adatbázis, amely peer-to-peer disztribúciós adatbázis. A fürtön homogén csomópontokkal fut. Olyan módon készül, hogy nagy mennyiségű adatot képes kezelni. Ezen adatok kezelésének is nagy képességet kell biztosítania. A Cassandra magas színvonalat biztosít az olvasás és írás műveletek során. A Cassandra-klaszter architektúrájának nincsenek mesterei, rabszolgái vagy konkrét vezetői. Az ilyen módszer használatával megbizonyosodik arról, hogy nincs egyetlen pont a meghibásodásról. Vessen egy pillantást az építészetre részletesen.
Cassandra építészet
A Cassandra Architecture főleg Node, Cluster és Data Center-ből áll. Ezen túlmenően vannak más alkatrészek is. A Cassandra sorban tárolt adatbázis. Ez lehetővé teszi az engedélyezett felhasználók számára, hogy bármilyen csomóponthoz csatlakozzanak bármely adatközpontban a CQL segítségével.
Kulcsszerkezetek Cassandra-ban
Ezek a következő kulcsfontosságú struktúrák Cassandrában:
- Csomópont - itt tárolják az adatokat. Ez a Cassandra legalapvetőbb alkotóeleme. Ez úgy tekinthető, mint egyetlen szerver a rackben. Biztosítja, hogy egyetlen hibapont ne legyen.
- Adatközpont - Az adatközpont csomópontok gyűjteménye. Ez lehet fizikai vagy virtuális. A munkaterheléstől függően az adatközpontok fel vannak osztva és kiválasztva. A replikációs tényezőt az adatközpont alapján határozzák meg. E replikációs tényezőtől függően az adatok különböző adatközpontokba írhatók.
- Klaszter - A klaszter egy vagy több adatközponttal rendelkezik. A klaszterek általában különböző fizikai helyekre terjednek ki.
Ezen felül a Cassandrában szerepet játszó többi alkatrész az alábbiakban látható.
1. Kötelezettség napló
Az adatok tartósságának fenntartása érdekében elkötelezett adatokat a továbbítási napló tárolja. Az adatok egy rendezett karakterlánctáblába kerülnek (a következőket magyarázzuk). Miután ez a mozgatás megtörtént, az átadási napló archiválható, törölhető vagy újrahasznosítható.
2. SS táblázat
Ez az előző pontban említett táblázat rendszeres időközönként tárolja a napló vagy a memória táblázatokat. Ez egy változatlan adatfájl. Az SS táblák gyakran egymás után tárolják az adatokat. Adatokat csatolnak és karbantartanak minden Cassandra asztalhoz.
3. CQL táblázat
A Cassandra Query tábla rendezett oszlopok gyűjteménye, amelyek egy sort lekérhetnek ebből a táblázatból. Ebben a táblázatban vannak olyan oszlopok, amelyekben az adatok az elsődleges kulcs felhasználásával letöltethetők.
4. Virágos szűrő
Ez egy egyszerű gyorsítótár, ahol nem determinisztikus algoritmusok vannak tárolva a teszteléshez. Ellenőrzi, hogy egy elem a halmaz tagja-e vagy sem. Ezeket a szűrőket általában minden futó lekérdezés után elérik.
A Cassandra konfigurálásának kulcsfontosságú elemei
A következő összetevők vannak Cassandra-ban:
1. Gossip
- Ahogy a neve is sugallja, kommunikációt kell folytatni a társak között annak érdekében, hogy felfedezzék és megosszák az összes csomópontra vonatkozó információt és helyét.
- Ennek az információnak helyi szinten kell maradnia, hogy minden csomópont felhasználhassa az információkat, amint a csomópontnak újra kell indulnia. A csomópontok információcserével találnak információt más csomópontokról.
- Ezt legfeljebb három csomópontra meg lehet tenni. Az információkat nem osztják meg minden olyan csomóponttal, amely a fürtben vagy az adatközpontban található. Az információt megosztják néhány csomóponttal, de végül az állapotinformáció áthalad a fürtön.
2. Választó
- A partícionáló dönt arról, hogy melyik csomópontnak kell megkapnia az első adatok másolatát. Feladata továbbá a replikák terjesztéséért is gondoskodni.
- Meg fogja határozni, hogy melyik csomópontnak legyen melyik replikációja a fürtben. Minden adatsort egyedileg kell azonosítani. Ezt megteheti az elsődleges kulcs vagy a partíciós kulcs felhasználásával.
- A partícionáló egy hash-funkció, amely segít abban, hogy egy tokent minden sor elsődleges kulcsából megszerezzen. Mindegyik csomóponthoz egy num_token érték van hozzárendelve, amelyet partícióként beállíthatunk.
- A létrehozott token érték segít meghatározni, hogy mely csomópont veszi a sorok replikáját.
3. Replikációs faktor
- Ez a tényező határozza meg a fürtön található replikák teljes számát. Ha a replikációs tényező 1, akkor minden csomópontnak csak egy példánya van egy csomóponton.
- Hasonlóképpen, ha a replikációs tényező kettő, akkor két másolatot tartanak fenn, ahol minden másolat más csomóponton van. Mint korábban említettem, Cassandrában nincs master-slave architektúra, minden példány fontos.
- A replikációs tényezőt minden adatközpont meghatározza. Ennek a tényezőnek egynél nagyobbnak kell lennie, de nem lehet nagyobb, mint a klaszterben lévő csomópontok száma.
4. Vágás
- A replikációs stratégia, amely segítséget nyújt abban, hogy megkapja a helyet, ahol replikákat el kell helyezni egy csoportba az adatok központjában és a rackben, Snitch néven ismert.
- Van egy dinamikus réteg, amely segíti a figyelést és a teljesítményt, és segít kiválasztani a legjobb replikákat, amelyekből az adatok olvashatók. A varratokat csak egy fürt létrehozásakor szabad konfigurálni.
- Az alapértelmezett értékek engedélyezve vannak a legtöbb telepítésnél. A konfigurációs változtatások a Cassandra.yml fájlban végezhetők, ahol az egyes csomópontok dinamikus szúrási küszöbértéke megtalálható.
5. Merkle fa
- Az adatblokkokban különbségek lehetnek. A különbségek könnyű megtalálása érdekében a Merkle fa hash fa, amely elősegíti ezt.
- A hash fa levélcsomópontjai különálló blokkok kivonatait tartalmazzák, a szülő csomópontok rendelkeznek ezzel az információval, vagy gyermekeik kivonatát is tárolják.
- Ennek a technikának a használatával könnyebb megtalálni a különbségeket a jelenlévő csomópontok között.
6. Mem táblázat
- Ez a táblázat információkat tartalmaz a gyorsítótárról, amelynek adatai még nem lettek kitöltve, és a memóriában vannak.
Következtetés
A Cassandra egy NoSQL adatbázis, amely hatalmas mennyiségű adat feldolgozására használható. Ennek nincs tipikus master-slave architektúrája, és ezért minden csomópont ugyanolyan fontos. A csomópontok a replikációs tényező szerint replikákkal rendelkeznek a fürtön. Ez biztosítja az adatok következetességét és tartósságát. Mindezekkel a funkciókkal egyértelmű, hogy a Cassandra nagyon hasznos nagy adattároláshoz. A Cassandra ezért tartós, gyors, mivel eloszlatott és megbízható.
Ajánlott cikkek
Ez egy útmutató a Cassandra Architecture-hez. Itt tárgyaljuk a Bevezetést, a Cassandra architektúrát, a kulcs szerkezetét és a Cassandra kulcsfontosságú elemeit. Megnézheti más javasolt cikkeinket -
- A Kubernetes építészet áttekintése
- Mi a Big Data Architecture?
- Az AutoCAD architektúrához hozzáadott szolgáltatások
- Cloud Computing Architecture