Klahviruum sees CassandraNäide loomisest, muutmisest ja eemaldamisest
⚡ Nutikas kokkuvõte
Klahviruum sees Cassandra on relatsioonisüsteemis andmebaasiga samaväärne kõige välimine andmekonteiner ja see määrab, kuidas iga selles olev tabel replikeerub. See leht käsitleb loomist, muutmist ja kustutamist.ping võtmeruum, pluss selle omadused ja süsteemi võtmeruumid.
Milles on Keyspace Cassandra?
Võtmeruum sisse Cassandra on andmekonteiner, mis sarnaneb RDBMS-i (Relatsioonandmebaasi haldussüsteemide) andmebaasiga. Cassandra Võtmeruum määrab, kuidas andmed sõlmedes paljunevad.
Kuna replikatsioon määratakse võtmeruumi, mitte üksikute tabelite põhjal, pärib iga selle sees loodud tabel sama strateegia ja replikatsiooniteguri. See teeb võtmeruumist iga skeemi esimese otsuse.
Kuidas luua võtmeruumi Cassandra
Võtmeruum on objekt, mis sisaldab veergude perekondi, kasutaja määratud tüüpe. sisse Cassandra, klahviruum on sarnane RDBMS Andmebaas. Võtmeruum sisaldab veergude perekondi, indekseid, kasutaja määratletud tüüpe, andmekeskuse teadlikkust, võtmeruumis kasutatavat strateegiat, replikatsioonitegurit jne.
käsk"Looge klahviruum” kasutatakse klahviruumi loomiseks Cassandra.
Süntaks
CREATE KEYSPACE KeyspaceName WITH replication = { 'class': 'StrategyName', 'replication_factor': 3 };
Erinevad komponendid Cassandra Võtmeklahv
- Strateegia: strateegia nime deklareerimisel Cassandra. Selles on deklareeritud kahte tüüpi strateegiaid Cassandra Süntaks.
- Lihtne strateegia: Kui teil on ainult üks andmekeskus, kasutatakse lihtsat strateegiat. Selles strateegias asetatakse esimene koopia partitsioonija valitud sõlme. Ülejäänud sõlmed paigutatakse rõngasse päripäeva, arvestamata riiuli või sõlme asukohta.
- Võrgu topoloogia strateegia: Võrgu topoloogiastrateegiat kasutatakse siis, kui teil on rohkem kui üks andmekeskus. Selles strateegias peate iga andmekeskuse jaoks eraldi esitama replikatsiooniteguri. Võrgu topoloogiastrateegia paigutab koopiad sõlmedesse päripäeva samas andmekeskuses. See strateegia püüab paigutada koopiaid erinevatesse riiulitesse.
- Replikatsioonitegur: replikatsioonitegur on erinevatesse sõlmedesse paigutatud andmete koopiate arv. Et ebaõnnestuda, on 3 hea replikatsioonitegur. Rohkem kui kaks replikatsioonitegurit ei taga ühtegi tõrkepunkti. Mõnikord võib server olla maas või tekkida võrguprobleem, siis pakuvad muud koopiad teenust ilma tõrgeteta.
- Näide: Siin on hetktõmmis käivitatud käsust "Loo võtmeruum", mis loob võtmeruumi Cassandra.
CREATE KEYSPACE University WITH replication = { 'class': 'SimpleStrategy', 'replication_factor': 3 };
Pärast käsu "Create Keyspace" edukat täitmist luuakse Keyspace University Cassandra strateegiaga „SimpleStrategy” ja replikatsiooniteguriga 3. Pange tähele, et strateegia nimi peab olema jutumärkides; jutumärkideta väärtus lükatakse tagasi süntaksiveana.
Muuda klahviruumi Cassandra
Käsk "Alter Keyspace" muudab loodud võtmeruumis replikatsioonitegurit, strateegia nime ja püsivate kirjutamisomadusi. Cassandra.
Süntaks
ALTER KEYSPACE KeyspaceName WITH replication = { 'class': 'StrategyName', 'replication_factor': 3 } AND DURABLE_WRITES = true;
Peamised aspektid võtmeruumi muutmisel Cassandra
- Võtmeruumi nimi: klahviruumi nime ei saa muuta Cassandra.
- Strateegia nimi: strateegia nime saab muuta, määrates uue strateegia nime.
- Replikatsioonifaktor: replikatsioonitegurit saab muuta, määrates uue replikatsiooniteguri.
- DURABLE_WRITES: DURABLE_WRITES väärtust saab muuta, määrates selle väärtuseks „true“ või „false“. Vaikimisi on see „true“. Kui see on seatud väärtusele „false“, siis ei kirjutata muudatuste logisse värskendusi ja vastupidi.
- Täitmine: siin on hetktõmmis käivitatud käsust "Alter Keyspace", mis muudab võtmeruumi strateegiat "SimpleStrategy" asemel "NetworkTopologyStrategy" ja replikatsioonitegurit 3-lt 1-le DataCenter1 jaoks.
ALTER KEYSPACE University WITH replication = { 'class': 'NetworkTopologyStrategy', 'DataCenter1': 1 };
Pärast käsu „Alter Keyspace” edukat täitmist muudetakse strateegia nimi „SimpleStrategy” nimeks „NetworkTopologyStrategy” ja replikatsioonitegur „DataCenter1” puhul muudetakse 3-lt 1-le.
NB! Replikatsiooniteguri tõstmine iseenesest olemasolevaid andmeid ei kopeeri. Käivita nodetooli remont mõjutatud võtmeruumis pärast seda, vastasel juhul jäävad uued koopiad tühjaks, kuni iga rida puudutab lugemisparandus.
Cassandra Drop Keyspace
käsk 'Drop Keyspace' eemaldab võtmeruumi, sealhulgas kõik andmed, veerupered, kasutaja määratud tüübid ja indeksid CassandraEnne kukkumistping klahviruum Cassandra teeb klahviruumist hetktõmmise. Kui klahviruumi ei eksisteeri Cassandra, Cassandra tagastab veateate, välja arvatud juhul, kui kasutatakse valikut IF EXISTS.
Süntaks
DROP KEYSPACE IF EXISTS KeyspaceName;
Näide
Siin on hetktõmmis käivitatud käsust "Drop Keyspace", mis eemaldab ülikooli võtmeruumi.
DROP KEYSPACE University;
Pärast käsu „Drop keyspace University” edukat täitmist eemaldatakse võtmeruumi Ülikool Cassandra koos kõigi andmete ja skeemiga.
Siin on hetktõmmis, kus tõrge tagastatakse, kui proovitakse pääseda juurde võtmeruumile, mida pole olemas.
märkused: klahviruumi langetamisel ja klahviruumi kustutamisel pole vahet. Drop keyspace võrdub klahviruumi kustutamisega.
Võtmeruumi omadused ja süsteemi võtmeruumid
Loomisest ja mahapanemisest kaugemaleping, kolm käsku katavad peaaegu kogu igapäevase klahviruumi töö cqlsh-is.
DESCRIBE KEYSPACES; DESCRIBE KEYSPACE University; USE University;
Esimene loetleb klastri kõik võtmeruumid, teine prindib ühe võtmeruumi täieliku skeemi koos selle tabelitega ja kolmas määrab praeguse võtmeruumi, nii et tabelinimed ei vaja enam eesliidet.
Kasutaja võtmeruumide kõrval Cassandra pakub mitut oma. Need ilmuvad DESCRIBE KEYSPACES väljundis ja neid tasub pigem ära tunda kui kustutada.
- süsteem: Kohaliku sõlme olek, sealhulgas selle tokenite vahemikud ja partnerid, millest see teab.
- süsteemi_skeem: Klastri iga võtmeruumi, tabeli, veeru ja indeksi definitsioonid.
- süsteemi_autentimine: Rollid, õigused ja volitused autentimise lubamise korral.
- süsteem_jaotatud: Remondiajalugu ja muu klastriülene raamatupidamineping.
- süsteem_tracon: Query tracjäädvustati siis, kui tracon sisse lülitatud.
Kaks neist väärivad tootmises tähelepanu. süsteemi_autentimine Võtmeruum luuakse vaikimisi replikatsiooniteguriga üks; kui see sõlm kaob, ei saa keegi sisse logida, seega tuleks see klastrile vastavaks muuta. süsteemi_skeem keyspace selgitab, miks skeemimuudatusi tuleb rakendada ükshaaval, kuna samaaegsed muudatused võivad tekitada vastuolulisi skeemiversioone eri sõlmedes.
Levinud klahviruumi vead ja parandused
Enamik klahviruumi tõrkeid annab lühikese ja äratuntava teate.
| viga | Põhjus ja lahendus |
|---|---|
| Tundmatu klahviruum | Võtmeruumi pole valitud. Käivita USE KeyspaceName või lisa tabelile eesliide Keyspace.Table. |
| Süntaksi viga 'SimpleStrategy'-s | Strateegia nimi on jutumärkides. Kirjutage jutumärkidesse 'class': 'SimpleStrategy'. |
| Tundmatu strateegiavalik {replication_factor} | Replication_factor’it kasutati koos NetworkTopologyStrategy’ga. See strateegia arvestab faktorit andmekeskuse nime järgi. |
| Olemasolevat võtmeruumi ei saa lisada | Võtmeruum on juba olemas. Lisa „IF NOT EXISTS” või eemalda esmalt vana. |
| Pärast replikatsiooniteguri tõstmist puuduvad andmed | Oodatav. Käivita võtmeruumis nodetool repair, et uued koopiad oleksid täidetud. |
Kui võtmeruum on olemas, on järgmine samm selle sees oleva salvestusruumi määratlemine, mida käsitletakse jaotises Cassandra tabel juhendaja.





