Billentyűtér be CassandraLétrehozás, módosítás és elvetés példa
⚡ Okos összefoglaló
Billentyűtér be Cassandra a legkülső adattároló, amely egyenértékű egy relációs rendszer adatbázisával, és meghatározza, hogyan replikálódnak a benne lévő táblák. Ez az oldal a létrehozását, módosítását és törlését tárgyalja.ping egy kulcsterület, plusz annak tulajdonságai és rendszerkulcsterületei.

Miben van a Keyspace Cassandra?
Kulcsköz be Cassandra egy adattároló, hasonlóan az RDBMS (Relációs adatbázis-kezelő rendszerek) adatbázisaihoz. Cassandra A kulcstér határozza meg, hogy az adatok hogyan replikálódjanak a csomópontokon.
Mivel a replikáció kulcsterületen, és nem az egyes táblákon van beállítva, minden benne létrehozott tábla ugyanazt a stratégiát és replikációs tényezőt örökli. Ez teszi a kulcsterületet az elsődleges döntéssé bármely sémában.
Hogyan hozzunk létre Keyspace-t Cassandra
A kulcstér egy olyan objektum, amely az oszlopcsaládokat, a felhasználó által meghatározott típusokat tartalmazza. Ban ben Cassandra, Keyspace hasonló a RDBMS Adatbázis. A kulcstér oszlopcsaládokat, indexeket, felhasználó által definiált típusokat, adatközponti tudatosságot, kulcstérben használt stratégiát, replikációs tényezőt stb. tartalmaz.
Parancs "Hozzon létre Keyspace” kulcstér létrehozására szolgál Cassandra.
Szintaxis
CREATE KEYSPACE KeyspaceName WITH replication = { 'class': 'StrategyName', 'replication_factor': 3 };
Különféle komponensek Cassandra Kulcstér
- Stratégia : A stratégia nevének deklarálása közben Cassandra. Ebben kétféle stratégia van deklarálva Cassandra Szintaxis.
- Egyszerű stratégia: Egyszerű stratégia akkor használható, ha csak egy adatközpontja van. Ebben a stratégiában az első replika a particionáló által kiválasztott csomópontra kerül. A fennmaradó csomópontok az óramutató járásával megegyező irányban helyezkednek el a gyűrűben, anélkül, hogy figyelembe vennék a rack vagy csomópont helyét.
- Hálózati topológiai stratégia: A hálózati topológiai stratégia akkor használatos, ha egynél több adatközpontja van. Ebben a stratégiában minden adatközponthoz külön-külön kell megadnia a replikációs tényezőt. A hálózati topológiai stratégia az óramutató járásával megegyező irányú csomópontokban helyezi el a replikákat ugyanabban az adatközpontban. Ez a stratégia megkísérli a replikákat különböző állványokba helyezni.
- Replikációs tényező: A replikációs tényező a különböző csomópontokon elhelyezett adatok replikáinak száma. A hiba elkerülése érdekében a 3 a jó replikációs tényező. Kettőnél több replikációs tényező biztosítja, hogy egyetlen hibapont se legyen. Előfordulhat, hogy a kiszolgáló nem működik, vagy hálózati probléma léphet fel, ekkor más replikák hiba nélkül nyújtanak szolgáltatást.
- Példa: Itt látható a végrehajtott „Kulcstér létrehozása” parancs pillanatképe, amelyen belül kulcstér jön létre Cassandra.
CREATE KEYSPACE University WITH replication = { 'class': 'SimpleStrategy', 'replication_factor': 3 };
A „Create Keyspace” parancs sikeres végrehajtása után a Keyspace University létrejön Cassandra „SimpleStrategy” stratégiával és 3-as replikációs faktorral. Vegye figyelembe, hogy a stratégia nevét idézőjelben kell tartani; az idézőjelek nélküli értéket szintaktikai hibaként elutasítja a rendszer.
Alter Keyspace Cassandra
Az „Alter Keyspace” parancs megváltoztatja a replikációs tényezőt, a stratégia nevét és a tartós írási tulajdonságokat a létrehozott kulcstérben. Cassandra.
Szintaxis
ALTER KEYSPACE KeyspaceName WITH replication = { 'class': 'StrategyName', 'replication_factor': 3 } AND DURABLE_WRITES = true;
A kulcsfontosságú szempontok a Keyspace megváltoztatásakor Cassandra
- Kulcstér neve: A kulcstér neve nem módosítható Cassandra.
- Stratégia neve: A stratégia neve megváltoztatható új stratégianév megadásával.
- Replikációs tényező: A replikációs tényező új replikációs tényező megadásával módosítható.
- DURABLE_WRITES: A DURABLE_WRITES értéke igaz vagy hamis érték megadásával módosítható. Alapértelmezés szerint igaz. Ha hamis értékre van állítva, akkor nem kerülnek frissítések a commit naplóba, és fordítva.
- Végrehajtás: Íme a végrehajtott „Alter Keyspace” parancs pillanatképe, amely a „SimpleStrategy” kulcstér-stratégiát „NetworkTopologyStrategy”-re és a replikációs tényezőt 3-ról 1-re módosítja a DataCenter1 esetében.
ALTER KEYSPACE University WITH replication = { 'class': 'NetworkTopologyStrategy', 'DataCenter1': 1 };
Az „Alter Keyspace” parancs sikeres végrehajtása után a stratégia neve „SimpleStrategy”-ről „NetworkTopologyStrategy”-re változik, a replikációs tényező pedig 3-ról 1-re változik a „DataCenter1” esetében.
Fontos: A replikációs tényező növelése önmagában nem másolja a meglévő adatokat. nodetool javítás az érintett kulcsterületen utána, ellenkező esetben az új replikák üresen maradnak, amíg egy olvasási javítás meg nem történik az egyes sorok érintésével.
Cassandra Drop Keyspace
parancsDrop Keyspace' eldobja a kulcsteret, beleértve az összes adatot, oszlopcsaládot, a felhasználó által meghatározott típusokat és indexeket CassandraMielőtt leesikping a kulcstér, Cassandra pillanatképet készít a kulcstérről. Ha a kulcstér nem létezik a Cassandra, Cassandra hibát ad vissza, hacsak nem használja az IF EXISTS beállítást.
Szintaxis
DROP KEYSPACE IF EXISTS KeyspaceName;
Példa
Itt látható a végrehajtott „Drop Keyspace” parancs pillanatképe, amely eldobja a Keyspace University-t.
DROP KEYSPACE University;
A „Drop keyspace University” parancs sikeres végrehajtása után a Keyspace University kikerül a programból Cassandra minden adattal és sémával.
Itt látható az a pillanatkép, amelyen a hiba a nem létező kulcsterülethez való hozzáféréskor jelenik meg.
Megjegyzések: Nincs különbség a billentyûköz bedobása és törlése között. Drop keyspace egyenlő a billentyűköz törlésével.
Billentyűtér-tulajdonságok és rendszerkulcsterek
A létrehozáson és eldobáson túlpingA három parancs a cqlsh szinte teljes napi billentyűtér-műveletét lefedi.
DESCRIBE KEYSPACES; DESCRIBE KEYSPACE University; USE University;
Az első felsorolja a fürtön található összes kulcsteret, a második kinyomtatja egy kulcstér teljes sémáját, beleértve a tábláit is, a harmadik pedig beállítja az aktuális kulcsteret, így a táblanevekhez már nem kell előtag.
A felhasználói kulcsterek mellett, Cassandra többet is szállít. Ezek megjelennek a DESCRIBE KEYSPACES kimenetében, és érdemesebb felismerni őket, mint törölni.
- rendszer: Helyi csomópont állapota, beleértve a token tartományokat és az általa ismert partnereket.
- rendszer_séma: A fürtön található összes kulcsterület, tábla, oszlop és index definíciója.
- rendszer_hitelesítés: Szerepkörök, engedélyek és hitelesítő adatok, ha a hitelesítés engedélyezve van.
- elosztott_rendszer: Javítási előzmények és egyéb, a klaszterre kiterjedő könyvelésping.
- rendszer_traca következő: Kérdés tracelfogták, amikor tracbe van kapcsolva.
Ezek közül kettő figyelmet érdemel a gyártás során. rendszer_hitelesítés A kulcsterület alapértelmezés szerint egy replikációs tényezővel jön létre; ha ez a csomópont elveszik, senki sem tud bejelentkezni, ezért a fürtnek megfelelően kell létrehozni. rendszer_séma A keyspace magyarázatot ad arra, hogy miért kell a sémamódosításokat egyenként alkalmazni, mivel az egyidejű módosítások ütköző sémaverziókat hozhatnak létre a csomópontok között.
Gyakori billentyűtér-hibák és javítások
A legtöbb billentyűtér-hiba egy rövid, felismerhető üzenetet eredményez.
| hiba | Ok és megoldás |
|---|---|
| Ismeretlen kulcsterület | Nincs kiválasztva kulcstér. Futtassa a USE KeyspaceName parancsot, vagy adja meg a tábla előtagját Keyspace.Table formátumban. |
| Szintaxishiba a 'SimpleStrategy' elemnél | A stratégia neve idézőjelek nélkül van. Írd be idézőjelek közé a következőt: 'class': 'SimpleStrategy'. |
| Ismeretlen stratégiai opció: {replication_factor} | A replikációs_faktort a NetworkTopologyStrategy-vel együtt használtuk. Ez a stratégia adatközpont-nevenkénti tényezőt vesz fel. |
| Nem lehet hozzáadni meglévő kulcsterületet | A kulcsterület már létezik. Adja hozzá az IF NOT EXISTS értéket, vagy először törölje a régit. |
| Adathiány a replikációs faktor emelése után | Várható. Futtassa a nodetool repair parancsot a kulcsterületen, hogy az új replikák feltöltődjenek. |
Miután egy kulcsterület létezik, a következő lépés a benne lévő tárhely definiálása, amelyet a Cassandra táblázat tutorial.




