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

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

Úvod

Cassandra je open-source distribuovaný databázový software pro práci s databázemi NoSQL. Tento software používá CQL (Cassandra Query Language) jako základ pro komunikaci. CQL uchovává data v tabulkách uspořádaných do sady řádků se sloupci, které obsahují páry klíč–hodnota.

Tabulky CQL jsou seskupeny v datových kontejnerech nazývaných keyspaces v Cassandře. Data uložená v jednom klíčovém prostoru nesouvisí s jinými daty v clusteru. Takže můžete mít tabulky pro více různých účelů v samostatných klíčových prostorech v clusteru a data se nebudou shodovat.

V této příručce se naučíte, jak vytvořit tabulku Cassandra pro několik různých účelů a jak tabulky upravovat, rušit nebo zkracovat pomocí shellu Cassandra.

Předpoklady

  • databázový software Cassandra nainstalovaný ve vašem systému
  • Přístup k terminálu nebo nástroji příkazového řádku za účelem načtení cqlsh
  • Uživatel s potřebnými oprávněními k provedení příkazů

Výběr klíčového prostoru pro tabulku Cassandra

Než začnete přidávat tabulku, musíte určit klíčový prostor, kde chcete tabulku vytvořit . Existují dvě možnosti, jak to udělat.

Možnost 1:Příkaz USE

Spusťte USE příkaz pro výběr prostoru kláves, na který se budou vztahovat všechny vaše příkazy. Chcete-li to provést, zadejte v shellu cqlsh:

USE keyspace_name;

Poté můžete začít přidávat tabulky.

Možnost 2:Zadejte název klíčového prostoru v dotazu

Druhou možností je zadat název klíčového prostoru v dotazu na vytvoření tabulky. První část příkazu, před názvy sloupců a volbami, vypadá takto:

CREATE TABLE keyspace_name.table_name

Tímto způsobem okamžitě vytvoříte tabulku ve vámi definovaném klíčovém prostoru.

Základní syntaxe pro vytváření tabulek Cassandra

Vytváření tabulek pomocí CQL vypadá podobně jako SQL dotazy. V této části vám ukážeme základní syntaxi pro vytváření tabulek v Cassandře.

Základní syntaxe pro vytvoření tabulky vypadá takto:

CREATE TABLE tableName (

columnName1 dataType,

columnName2 dataType,

columnName2 datatype

PRIMARY KEY (columnName)

);

Volitelně můžete definovat další vlastnosti a hodnoty tabulky pomocí WITH :

WITH propertyName=propertyValue;

Použijte jej například k definování způsobu ukládání dat na disk nebo zda použít kompresi.

Typy primárního klíče Cassandra

Každá tabulka v Cassandře musí mít primární klíč, díky kterému je řádek jedinečný. Pomocí primárních klíčů určíte, který uzel ukládá data a jak je rozděluje.

Existují dva typy primárních klíčů:

  1. Jednoduchý primární klíč . Obsahuje pouze jeden název sloupce jako klíč oddílu, který určuje, které uzly budou data ukládat.
  2. Složený primární klíč. Používá jeden rozdělovací klíč a několik klastrovacích sloupců k definování, kam se mají data ukládat a jak je třídit na oddílu.
  3. Klíč složeného oddílu. V tomto případě existuje několik sloupců, které určují, kam se mají data uložit. Tímto způsobem můžete data rozdělit na menší části a distribuovat je mezi více oddílů, abyste se vyhnuli aktivnímu bodu.

Jak vytvořit stůl Cassandra

Následující části vysvětlují, jak vytvořit tabulky s různými typy primárních klíčů. Nejprve vyberte klíčový prostor, kde chcete vytvořit tabulku. V našem případě:

USE businesinfo;

Každá tabulka obsahuje sloupce a datový typ Cassandra pro každou položku.

Vytvoření tabulky pomocí jednoduchého primárního klíče

Prvním příkladem je základní tabulka s dodavateli. ID je jedinečné pro každého dodavatele a bude sloužit jako primární klíč.

Dotaz CQL vypadá takto:

CREATE TABLE suppliers (

supp_id int PRIMARY KEY,

supp_city text,

supp_email text,

supp_fee int,

supp_name text,

supp_phone int

);

Tento dotaz vytvořil tabulku s názvem dodavatel s supp_id jako primární klíč pro tabulku. Když použijete jednoduchý primární klíč s názvem sloupce jako klíčem oddílu, můžete jej umístit buď na začátek dotazu (vedle sloupce, který bude sloužit jako primární klíč), nebo na konec a poté zadat název sloupce. :

CREATE TABLE suppliers (

supp_id int,

supp_city text,

supp_email text,

supp_fee int,

supp_name text,

supp_phone int

PRIMARY KEY(supp_id)

);

Chcete-li zjistit, zda je tabulka v prostoru klíčů, zadejte:

DESCRIBE TABLES;

Výstup uvádí všechny tabulky v daném klíčovém prostoru spolu s tou, kterou jste vytvořili.

Chcete-li zobrazit obsah tabulek, zadejte:

SELECT * FROM suppliers;

Výstup zobrazuje všechny sloupce definované při vytváření tabulky.

Dalším způsobem, jak zobrazit podrobnosti tabulky, je použít DESCRIBE a zadejte název tabulky:

DESCRIBE suppliers;

Výstup zobrazuje sloupce a výchozí nastavení tabulky.

Vytvoření tabulky se složeným primárním klíčem

Chcete-li se dotazovat a získat výsledky seřazené v určitém pořadí, vytvořte tabulku se složeným primárním klíčem.

Vytvořte například tabulku pro dodavatele a všechny produkty, které nabízejí. Protože produkty nemusí být pro každého dodavatele jedinečné, musíte do primárního klíče přidat jeden nebo více sloupců shlukování, aby byl jedinečný.

Schéma tabulky vypadá takto:

CREATE TABLE suppliers_by_product (

supp_product text,

supp_id int,

supp_product_quantity text,

PRIMARY KEY(supp_product, supp_id)

);

V tomto případě jsme použili supp_product a supp_id vytvořit jedinečný složený klíč. Zde je první položka v brackets supp_product je klíč oddílu. Určuje, kam se mají data uložit, tedy jak systém data rozdělí.

Další položkou je sloupec shlukování, který určuje, jak Cassandra třídí data, v našem případě je to podle supp_id .

Obrázek výše ukazuje, že tabulka byla úspěšně vytvořena. Chcete-li zkontrolovat podrobnosti tabulky, spusťte DESCRIBE TABLE dotaz na novou tabulku:

DESCRIBE TABLE suppliers_by_product;

Výchozí nastavení pro pořadí shlukování je vzestupné (ASC). Můžete změnit na sestupný (DESC) přidáním následujícího příkazu za primární klíč:

WITH CLUSTERING ORDER BY (supp_id DESC);

Za klíč oddílu jsme zadali jeden klastrovací sloupec. V případě, že potřebujete seřadit data pomocí dvou sloupců, přidejte další sloupec do závorek primárního klíče.

Vytváření tabulek pomocí složeného klíče oddílu

Vytvoření tabulky s klíčem složeného oddílu je užitečné, když jeden uzel ukládá velký objem dat a chcete rozdělit zatížení na více uzlů.

V tomto případě definujte primární klíč s klíčem oddílu, který se skládá z více sloupců. Musíte použít dvojité závorky. Poté přidejte klastrovací sloupce jako dříve, abyste vytvořili jedinečný primární klíč.

Například:

CREATE TABLE suppliers_by_product_type (

supp_product_consume text,

supp_product_stock text,

supp_id int,

supp_name text,

PRIMARY KEY((supp_product_consume, supp_product_stock), supp_id)

);

Ve výše uvedeném příkladu jsme rozdělili data do dvou kategorií, dodavatelské spotřební produkty a skladovatelné produkty, a distribuovali data pomocí složeného klíče oddílu.

Pokud místo toho použijete složený primární klíč s jednoduchým klíčem oddílu a několika klastrovacími sloupci, pak by jeden uzel zpracoval všechna data seřazená podle více sloupců.

Rozkládací stůl Cassandry

Chcete-li odstranit tabulku v Cassandře, použijte DROP TABLE prohlášení. Chcete-li vybrat tabulku, kterou chcete odstranit, zadejte:

DESCRIBE TABLES;

Najděte stůl, který chcete shodit. K odstranění použijte název tabulky:

DROP TABLE suppliers_by_product_type;

Spusťte DESCRIBE TABLES dotaz znovu, abyste ověřili, že jste tabulku úspěšně odstranili.

Stůl Cassandra Alter

Cassandra CQL umožňuje přidávat nebo odebírat sloupce z tabulky. Použijte ALTER TABLE příkaz k provedení změn v tabulce.

Přidat sloupec do tabulky

Před přidáním sloupce do tabulky vám doporučujeme prohlédnout si obsah tabulky a ověřit, že název sloupce již neexistuje.

Po ověření použijte ALTER TABLE dotaz v tomto formátu pro přidání sloupce:

ALTER TABLE suppliers_by_product

ADD supp_name text;

Popište tabulku a potvrďte, že se sloupec objeví v seznamu.

Odstranit sloupec z tabulky

Podobně jako při přidávání sloupce můžete sloupec z tabulky vypustit. Pomocí DESCRIBE TABLES vyhledejte sloupec, který chcete odstranit dotaz.

Poté zadejte:

ALTER TABLE suppliers_by_product

DROP supp_product_quantity;

Tabulka Cassandra Truncate

Pokud nechcete smazat celou tabulku, ale potřebujete odstranit všechny řádky, použijte TRUNCATE příkaz.

Chcete-li například odstranit všechny řádky z tabulky dodavatelé , zadejte:

TRUNCATE suppliers;

Chcete-li ověřit, že v tabulce již nejsou žádné řádky, použijte SELECT prohlášení.

Jakmile tabulku zkrátíte, změny jsou trvalé, takže při používání tohoto dotazu buďte opatrní.


Cent OS
  1. Jak vytvořit tabulku v PhpMyAdmin

  2. Zrušte tabulky v MySQL

  3. Jak vytvořit a připojit Btrfs snímky

  1. Jak vytvořit a povolit Swap Partition na Centos / RHEL 8

  2. Jak vytvořit uživatele Sudo na Rocky Linux a CentOS

  3. Jak vytvořit Linuxové makro a funkční klávesové vazby v souboru .intputrc

  1. Jak vytvořit tabulku v Hive

  2. Jak vytvořit slovník Python

  3. Jak vytvořit (a publikovat) klíč PGP v systému Linux pomocí GUI