GNU/Linux >> Znalost Linux >  >> Cent OS

Jak vytvořit Keyspace v Cassandře

Úvod

Cassandra je software pro správu databází NoSQL. Organizace jej používají ke zpracování velkých objemů dat distribuovaným způsobem. Popularita tohoto softwaru vzrostla díky jeho vysoké dostupnosti a odolnosti proti chybám.

Aby toho dosáhla, Cassandra přešla od konceptu hlavních nebo pojmenovaných uzlů k symetrickým P2P distribuovaným uzlům. Každý uzel v clusteru má jeden nebo více klíčových prostorů, které obsahují data.

V této příručce se dozvíte, co je klíčový prostor, jeho součásti a jak vytvořit, upravit a odstranit klíčový prostor.

Předpoklady

  • Cassandra nainstalované ve vašem systému
  • Přístup k terminálu nebo příkazový řádek
  • Potřebná oprávnění ke spouštění příkazů CQL

Co je klíčový prostor v Cassandře?

Klíčový prostor je datový kontejner v Cassandře, podobně jako databáze v systémech pro správu relačních databází (RDMBS). Cluster má jeden klíčový prostor na aplikaci, tolik, kolik je potřeba, v závislosti na požadavcích a využití systému. Keyspaces jsou zcela samostatné entity a data, která obsahují, spolu nesouvisí.

V clusteru Cassandra je klíčový prostor nejvzdálenějším objektem, který určuje, jak se data replikují na uzlech. Prostory klíčů se skládají ze základních objektů nazývaných rodiny sloupců (které jsou jako tabulky v RDBMS), řádků indexovaných podle klíčů, datových typů, povědomí o datovém centru, faktoru replikace a strategie klíčového prostoru.

Klíčové komponenty Cassandra

Při vytváření klíčového prostoru musíte určit některé základní komponenty klíčového prostoru. Tyto součásti jsou:

Strategie replikace

Při definování prostoru klíčů určuje strategie replikace uzly, kam budou repliky umístěny. Použitím více uzlů k umístění replik dosáhnete odolnosti proti chybám, vysoké dostupnosti a spolehlivosti.

Existují dvě možné strategie:

  1. Jednoduchá strategie. Tuto strategii použijte pro testovací a vývojová prostředí a pokud nehodláte nasadit klastr do více než jednoho datového centra. Faktor replikace platí pro celý cluster. Dělič oddílů rozhodne, kam umístit první repliku na uzel. Poté jsou další repliky distribuovány po směru hodinových ručiček na dalších uzlech bez ohledu na datové centrum nebo umístění.
  2. Strategie topologie sítě. Tato strategie je vhodná, když potřebujete nasadit svůj cluster do více datových center. Můžete jej však používat i s jedním datovým centrem, takže jej můžete později rozšířit. Network Topology Strategy funguje jak pro produkci, tak pro vývoj. Má tendenci umisťovat repliky na uzly, které nejsou ve stejném stojanu, aby se předešlo problémům, když jeden stojan selže. Každé datové centrum může mít při použití této možnosti samostatný faktor replikace.

Replikační faktor

Toto nastavení definuje, kolik replik řádku se má uložit na každý uzel.

Minimum by měly být dvě repliky na datové centrum. To znamená, že selhání jednoho uzlu neovlivní provoz replikační skupiny. Proto je doporučeným nastavením mít tři kopie každého řádku na různých uzlech, abyste dosáhli uspokojivé odolnosti proti chybám.

Základním pravidlem je zachovat replikační faktor stejný jako počet uzlů.

Základní syntaxe klíčového prostoru

Můžete vytvořit klíčový prostor s různými nastaveními replikace. Níže je uvedena základní syntaxe pro vytvoření klíčového prostoru:

CREATE KEYSPACE keypsace_name WITH replication = {properties};

Vlastnosti zahrnují různá nastavení, jako je strategie replikace, faktor nebo trvalé zápisy.

Vytvoření klíčového prostoru pomocí Cqlsh

Chcete-li vytvořit klíčový prostor, spusťte shell CQL:

cqlsh

Poté podle základní syntaxe vytvořte klíčový prostor s požadovaným názvem a nastavením replikace.

V tomto případě vytvoříme test_keyspace pomocí SimpleStrategy a replication_factor 3 :

CREATE KEYSPACE test_keyspace
WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};

Výše uvedený příklad použijte, pokud nehodláte expandovat do více datových center. Navíc, pokud máte pouze jeden uzel a používáte Cassandru k testování, můžete nastavit replication_factor do 1 .

Pro produkční prostředí a více datová centra , vytvořte klíčový prostor pomocí strategie replikace topologie sítě.

Chcete-li tak učinit, zadejte:

CREATE KEYSPACE keyspace_network_topology
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3};

Výchozí název datového centra je datacenter1 . Chcete-li zkontrolovat název svého datového centra, zavřete shell CQL a použijte nodetool :

nodetool status

Pokud máte více datových center, uveďte je všechna v dotazu s příslušnými replikačními faktory.

Například dotaz na dvě datová centra vypadá takto:

CREATE KEYSPACE keyspace_network_topology
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3, 'datacenter2' : 3};

Ověřte Keyspace

Protože ve výstupu není žádná odezva pro úspěšné vytvoření klíčového prostoru, použijte tento příkaz k ověření, zda je klíčový prostor na seznamu:

DESCRIBE KEYSPACES;

Systém vrátí seznam všech dostupných klíčů Cassandra. Zvýraznili jsme dva klíčové prostory, které jsme vytvořili ve výše uvedených příkladech. Existuje několik výchozích klíčových prostorů, které jsou součástí instalace Cassandry.

Zakázat trvanlivé zápisy

V Cassandře durable_writes konfigurace je pravda ve výchozím stavu. Můžete ji zakázat, ale pouze pro NetworkTopologyStrategy . Tato možnost říká Cassandře, zda má použít commitlog pro provedení aktualizací ve vybraném klíčovém prostoru.

Když se pokusíte zakázat durable_writes při vytváření klíčového prostoru pomocí SimpleStrategy se zobrazí varování, abyste to nedělali. Důvodem je, že můžete ztratit svá data, pokud jste nesynchronizovali data z memtable do stabilní a vaše datové centrum selže.

Chcete-li zakázat durable_writes při vytváření klíčového prostoru zadejte tento dotaz:

CREATE KEYSPACE keyspace_durwrites
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 3}
AND DURABLE_WRITES = false;

Ověřte trvanlivé zápisy

Dotaz, který byl použit při vytváření prostoru klíčů, můžete zkontrolovat popisem prostoru klíčů. durable_writes část se také objeví:

DESCRIBE keyspace_durwrites

Chcete-li zkontrolovat durable_writes nastavení pro všechny klíčové prostory, dotaz system_schema :

SELECT * FROM system_schema.keyspaces;

Výstup zobrazuje všechny klíčové prostory a jejich nastavení, včetně durable_writes .

Používání Keyspace

Chcete-li vybrat klíčový prostor v Cassandře a provádět s ním akce, použijte klíčové slovo USE .

Syntaxe je:

USE keyspace_name

Například:

USE keyspace_durwrites;

Shell CQL se přepne na název prostoru klíčů, který jste zadali. Chcete-li změnit aktuální klíčový prostor, použijte stejný příkaz s jiným názvem.

Změnit klíčový prostor

Po vytvoření klíčového prostoru můžete změnit konfiguraci pomocí klíčového slova ALTER .

Jediné, co nemůžete změnit, je název prostoru klíčů . Kromě toho můžete změnit strategii replikace, faktor replikace a trvalé zápisy.

Chcete-li upravit klíčový prostor, postupujte podle stejné syntaxe jako při jeho vytváření, ale použijte ALTER místo CREATE . Změňte požadované hodnoty.

Například:

ALTER KEYSPACE keyspace_durwrites
WITH replication = {'class':'NetworkTopologyStrategy', 'datacenter1' : 2}
AND DURABLE_WRITES = true;

Chcete-li ověřit, že se změny projevily, použijte DESCRIBE klíčové slovo:

Obrázek výše ukazuje konfiguraci klíčového prostoru před a po změně.

Vypustit nebo smazat mezeru mezi klávesami

Pokud zahodíte klíčový prostor, bude odstraněn ze systému. DROP klíčové slovo odstraní všechny rodiny sloupců z prostoru klíčů, stejně jako indexy a datové typy.

Chcete-li odstranit klíčový prostor v Cassandře, použijte tuto syntaxi:

DROP keyspace_name;

Například:

DROP keyspace_durwrites;

Chcete-li se ujistit, že jste odstranili klíčový prostor, použijte DESCRIBE dotaz.


Cent OS
  1. Jak vytvořit subdoménu

  2. Jak vytvořit subdoménu

  3. Jak vytvořit uživatele sudo na CentOS 7

  1. Jak vytvořit tabulku v Hive

  2. Jak vytvořit soubor v Ansible

  3. Jak vytvořit Virtual Data Optimizer (VD0) v ​​CentOS/RHEL 7 a 8

  1. Jak vytvořit Spark DataFrame

  2. Jak vytvářet, přetahovat, měnit a zkracovat tabulky v Cassandře

  3. Jak vytvořit databázi v PostgreSQL