翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Keyspaces でテーブルを作成する
このセクションでは、コンソール、、cqlsh
または を使用してテーブルを作成します。 AWS CLI.
テーブルとは、データが整理されて保存されている場所です。テーブルのプライマリキーによって、テーブル内のデータのパーティション化方法が決まります。プライマリキーは、必須のパーティションキー 1 つと、1 つ以上のオプションのクラスタリング列で構成されています。プライマリキーを構成する複合値は、テーブルのすべてのデータで一意でなければなりません。テーブルの詳細については、次のトピックを参照してください。
パーティションキー設計: Amazon Keyspaces でパーティションキーを効果的に使用する方法
テーブルの操作: Amazon Keyspaces のテーブル作成ステータスを確認する
-
DDL CQL 言語リファレンスの ステートメント: テーブル
テーブルリソース管理: Amazon Keyspaces でのサーバーレスリソースの管理 (Apache Cassandra 向け)
テーブルのリソース使用率のモニタリング: アマゾンによるアマゾンKeyspaces モニタリング CloudWatch
テーブルを作成する際には、以下を指定できます。
-
テーブルの名前。
-
テーブル内の各列の名前とデータ型。
-
テーブルのプライマリキー。
-
[Partition key (パーティションキー)] - 必須
-
[Clustering columns (クラスタリング列)] — オプション
-
指定された列、データ型、パーティションキー、およびクラスタリング列を含むテーブルを作成するには、次の手順に従います。
次の手順では、これらの列とデータ型が含まれているテーブル book_awards
を作成します。
year int
award text
rank int
category text
book_title text
author text
publisher text
コンソールを使用してテーブルを作成するには
-
にサインインする AWS Management Console、ホーム で Amazon Keyspaces https://console.aws.amazon.com/keyspaces/
コンソールを開きます。 -
ナビゲーションペインで、[Keyspaces (キー空間)] を選択します。
-
このテーブルを作成するキー空間として
catalog
を選択します。 -
[Create table (テーブルの作成)] を選択します。
-
[Table name (テーブル名)] ボックスに、テーブルの名前として「
book_awards
」を入力します。名前の制約:
-
名前を空にすることはできません。
-
使用できる文字: 英数字と下線 (
_
) です。 -
最大長は 48 文字です。
-
-
[Columns (列)] セクションで、このテーブルを追加する各列に対して以下のステップを繰り返します。
次の列とデータ型を追加します。
year int award text rank int category text book_title text author text publisher text
-
[Name (名前)] — 列の名前を入力します。
名前の制約:
-
名前を空にすることはできません。
-
使用できる文字: 英数字と下線 (
_
) です。 -
最大長は 48 文字です。
-
-
[Type (型)] — データ型のリストで、この列のデータ型を選択します。
-
別の列を追加するには、列の追加 を選択します。
-
-
パーティションキー のパーティションキー
year
としてaward
と を選択します。 各テーブルにはパーティションキーが 1 つ必要です。パーティションキーは、1 つ以上の列で構成できます。 -
クラスター化列
rank
としてcategory
と を追加します。 クラスタリング列はオプションであり、この列によって各パーティション内のソート順序が決まります。-
クラスタリング列を追加するには、[Add clustering column (クラスタリング列の追加)] を選択します。
-
列リストで、カテゴリ を選択します。順序リストで、この列の値に対して昇順でソートASCすることを選択します。(降順DESCで選択します。)
次に、クラスタリング列の追加を選択し、ランク を選択します。
-
-
[Table settings (テーブル設定)] セクションで、[Default settings (デフォルト設定)] を選択します。
-
[Create table (テーブルの作成)] を選択します。
-
テーブルが作成されていることを確認します。
-
ナビゲーションペインで、[Tables (テーブル)] を選択します。
-
そのテーブルがテーブルの一覧に表示されていることを確認します。
-
テーブルの名前を選択します。
-
すべての列とデータ型が正しいことを確認します。
注記
これらの列の順序が、テーブルに追加した順序と同じではない場合があります。
-
この手順では、 を使用して、次の列とデータ型を持つテーブルを作成しますCQL。year
列と award
列は、クラスター化列rank
として category
および を持つパーティションキーであり、これらが一緒にテーブルのプライマリキーを構成します。
year int
award text
rank int
category text
book_title text
author text
publisher text
を使用してテーブルを作成するには CQL
を開きます。 AWS CloudShell および は、次のコマンドを使用して Amazon Keyspaces に接続します。必ず を更新してください。
us-east-1
独自の リージョンを使用します。cqlsh-expansion cassandra.
us-east-1
.amazonaws.com 9142 --sslこのコマンドの出力は次のようになります。
Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142 [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh current consistency level is ONE.
-
キー空間プロンプト (
cqlsh:keyspace_name>
) で、コマンドウィンドウに次のコードを入力してテーブルを作成します。CREATE TABLE
catalog.book_awards
( year int, award text, rank int, category text, book_title text, author text, publisher text, PRIMARY KEY ((year, award), category, rank) );注記
ASC
は、デフォルトのクラスタリング順序です。DESC
を指定して降順にすることもできます。year
およびaward
はパーティションキー列であることに注意してください。次に、category
とrank
は昇順 () で並べられたクラスタリング列ですASC
。これらの列は一緒にテーブルのプライマリキーを形成します。 -
テーブルが作成されていることを確認します。
SELECT * from system_schema.tables WHERE keyspace_name='catalog.book_awards' ;
出力は次のようになります。
keyspace_name | table_name | bloom_filter_fp_chance | caching | cdc | comment | compaction | compression | crc_check_chance | dclocal_read_repair_chance | default_time_to_live | extensions | flags | gc_grace_seconds | id | max_index_interval | memtable_flush_period_in_ms | min_index_interval | read_repair_chance | speculative_retry ---------------+------------+------------------------+---------+-----+---------+------------+-------------+------------------+----------------------------+----------------------+------------+-------+------------------+----+--------------------+-----------------------------+--------------------+--------------------+------------------- (0 rows)
> -
テーブルの構造を確認します。
SELECT * FROM system_schema.columns WHERE keyspace_name = 'catalog' AND table_name = 'book_awards';
このステートメントの出力は、この例のようになります。
keyspace_name | table_name | column_name | clustering_order | column_name_bytes | kind | position | type ---------------+-------------+-------------+------------------+------------------------+---------------+----------+------ catalog | book_awards | year | none | 0x79656172 | partition_key | 0 | int catalog | book_awards | award | none | 0x6177617264 | partition_key | 1 | text catalog | book_awards | category | asc | 0x63617465676f7279 | clustering | 0 | text catalog | book_awards | rank | asc | 0x72616e6b | clustering | 1 | int catalog | book_awards | author | none | 0x617574686f72 | regular | -1 | text catalog | book_awards | book_title | none | 0x626f6f6b5f7469746c65 | regular | -1 | text catalog | book_awards | publisher | none | 0x7075626c6973686572 | regular | -1 | text (7 rows)
すべての列とデータ型が想定どおりであるか確認します。列の順序は
CREATE
ステートメントの順序と異なる場合があります。
この手順では、 を使用して、次の列とデータ型を持つテーブルを作成します。 AWS CLI。 year
および award
列は、 category
および をクラスタリング列rank
として持つパーティションキーを構成します。
year int
award text
rank int
category text
book_title text
author text
publisher text
を使用してテーブルを作成するには AWS CLI
以下のコマンドで book_wards という名前のテーブルが作成されます。テーブルのパーティションキーは year
列と award
列で構成され、クラスタリングキーは category
列と rank
列で構成され、どちらのクラスタリング列も昇順でソートされます。(読みやすくするために、このセクションのテーブル作成コマンドschema-definition
の は別々の行に分割されます)。
-
次のステートメントを使用してテーブルを作成できます。
aws keyspaces create-table --keyspace-name 'catalog' \ --table-name 'book_awards' \ --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int}, {name=category,type=text}, {name=author,type=text},{name=book_title,type=text},{name=publisher,type=text}], partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]'
このコマンドで、次の出力が返ります。
{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/table/book_awards" }
-
テーブルのメタデータとプロパティは、以下のコマンドで確認します。
aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
このコマンドで、以下の出力が返ります。
{ "keyspaceName": "catalog", "tableName": "book_awards", "resourceArn": "arn:aws:cassandra:us-east-1:123SAMPLE012:/keyspace/catalog/table/book_awards", "creationTimestamp": "2024-07-11T15:12:55.571000+00:00", "status": "ACTIVE", "schemaDefinition": { "allColumns": [ { "name": "year", "type": "int" }, { "name": "award", "type": "text" }, { "name": "category", "type": "text" }, { "name": "rank", "type": "int" }, { "name": "author", "type": "text" }, { "name": "book_title", "type": "text" }, { "name": "publisher", "type": "text" } ], "partitionKeys": [ { "name": "year" }, { "name": "award" } ], "clusteringKeys": [ { "name": "category", "orderBy": "ASC" }, { "name": "rank", "orderBy": "ASC" } ], "staticColumns": [] }, "capacitySpecification": { "throughputMode": "PAY_PER_REQUEST", "lastUpdateToPayPerRequestTimestamp": "2024-07-11T15:12:55.571000+00:00" }, "encryptionSpecification": { "type": "AWS_OWNED_KMS_KEY" }, "pointInTimeRecovery": { "status": "DISABLED" }, "defaultTimeToLive": 0, "comment": { "message": "" }, "replicaSpecifications": [] }
テーブル内のデータに対して操作 CRUD (作成、読み取り、更新、削除) を実行するには、 に進みますAmazon Keyspaces CQLで を使用してデータ (CRUD) を作成、読み取り、更新、削除する。