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.

  • 🗄️ Alapvető definíció: A kulcsterület táblákat, indexeket és felhasználó által definiált típusokat tartalmaz, valamint az általuk örökölt replikációs beállításokat.
  • 🧭 Stratégiaválasztás: A SimpleStrategy egyetlen adatközponthoz illik; a NetworkTopologyStrategy replikációs tényezőt állít be adatközpontonként.
  • 🔢 Replikációs faktor: A három replika a standard éles beállítás, mivel ez túléli egy csomópont meghibásodását a QUORUM-on.
  • ✏️ Korlátok módosítása: A stratégia, a replikációs tényező és a tartós írási műveletek változhatnak; a kulcsterület neve nem.
  • 💾 Tartós írások: Ha ezt hamis értékre állítja, akkor a véglegesítési napló kimarad, az összeomlás elleni védelmet pedig írási sebességre cseréli.
  • 🗑️ Ejtési viselkedés: Cseppping eltávolít minden táblát és indexet, miután Cassandra automatikus pillanatfelvételt készít.

Cassandra Billentyűtér Létrehozás Alter Drop

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.
  1. 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.
  2. 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.

Hozzon létre Keyspace-t 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 Cassandra

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.

Cassandra Drop Keyspace

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.

Cassandra Drop Keyspace

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.

GYIK

Tartsa a számot kicsiben, jellemzően alkalmazásonként egyet. Minden kulcsterület és tábla séma metaadatokat és memória-többletet ad hozzá minden csomóponthoz, így a több száz kulcsterület rontja a fürt teljesítményét.

Igen, ha az auto_snapshot engedélyezve van. Cassandra pillanatképet ír a drop előttping, így az SSTable-ök visszaállíthatók az sstableloader segítségével a séma újralétrehozása után.

Csak olyan adatokhoz, amelyek újragenerálhatók, például gyorsítótárak vagy származtatott elemzések. Kihagyásping A véglegesítési napló azt jelenti, hogy a memtable-ben még lévő írási műveletek elvesznek, ha a csomópont váratlanul leáll.

Az adatközpont elrendezése és rendelkezésre állási célja alapján a mesterséges intelligencia stratégiát és központonkénti tényezőket javasolhat. Ellenőrizze az adatközpontok neveit a nodetool állapotával szemben, mivel egy elgépelés észrevétlenül alullepróba történik.

Jól kezeli a rutinszerű szintaxist, de gyakran hordoz relációs szokásokat, például idézőjelek nélküli stratégianeveket vagy idegen kulcsokat. Minden generált szkriptet először egy tesztkulcstéren kell futtatni.

Foglald össze ezt a bejegyzést a következőképpen: