Amazon Keyspaces でテーブルを作成する - Amazon Keyspaces (Apache Cassandra 向け)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Keyspaces でテーブルを作成する

このセクションでは、コンソール、、cqlshまたは を使用してテーブルを作成します。 AWS CLI.

テーブルとは、データが整理されて保存されている場所です。テーブルのプライマリキーによって、テーブル内のデータのパーティション化方法が決まります。プライマリキーは、必須のパーティションキー 1 つと、1 つ以上のオプションのクラスタリング列で構成されています。プライマリキーを構成する複合値は、テーブルのすべてのデータで一意でなければなりません。テーブルの詳細については、次のトピックを参照してください。

テーブルを作成する際には、以下を指定できます。

  • テーブルの名前。

  • テーブル内の各列の名前とデータ型。

  • テーブルのプライマリキー。

    • [Partition key (パーティションキー)] - 必須

    • [Clustering columns (クラスタリング列)] — オプション

指定された列、データ型、パーティションキー、およびクラスタリング列を含むテーブルを作成するには、次の手順に従います。

次の手順では、これらの列とデータ型が含まれているテーブル book_awards を作成します。

year int award text rank int category text book_title text author text publisher text
コンソールを使用してテーブルを作成するには
  1. にサインインする AWS Management Console、ホーム で Amazon Keyspaces https://console.aws.amazon.com/keyspaces/コンソールを開きます。

  2. ナビゲーションペインで、[Keyspaces (キー空間)] を選択します。

  3. このテーブルを作成するキー空間として catalog を選択します。

  4. [Create table (テーブルの作成)] を選択します。

  5. [Table name (テーブル名)] ボックスに、テーブルの名前として「book_awards」を入力します。

    名前の制約:

    • 名前を空にすることはできません。

    • 使用できる文字: 英数字と下線 (_) です。

    • 最大長は 48 文字です。

  6. [Columns (列)] セクションで、このテーブルを追加する各列に対して以下のステップを繰り返します。

    次の列とデータ型を追加します。

    year int award text rank int category text book_title text author text publisher text
    1. [Name (名前)] — 列の名前を入力します。

      名前の制約:

      • 名前を空にすることはできません。

      • 使用できる文字: 英数字と下線 (_) です。

      • 最大長は 48 文字です。

    2. [Type (型)] — データ型のリストで、この列のデータ型を選択します。

    3. 別の列を追加するには、列の追加 を選択します。

  7. パーティションキー のパーティションキーyearとして awardと を選択します。 各テーブルにはパーティションキーが 1 つ必要です。パーティションキーは、1 つ以上の列で構成できます。

  8. クラスター化列 rankとして categoryと を追加します。 クラスタリング列はオプションであり、この列によって各パーティション内のソート順序が決まります。

    1. クラスタリング列を追加するには、[Add clustering column (クラスタリング列の追加)] を選択します。

    2. リストで、カテゴリ を選択します。順序リストで、この列の値に対して昇順でソートASCすることを選択します。(降順DESCで選択します。)

    3. 次に、クラスタリング列の追加を選択し、ランク を選択します。

  9. [Table settings (テーブル設定)] セクションで、[Default settings (デフォルト設定)] を選択します。

  10. [Create table (テーブルの作成)] を選択します。

  11. テーブルが作成されていることを確認します。

    1. ナビゲーションペインで、[Tables (テーブル)] を選択します。

    2. そのテーブルがテーブルの一覧に表示されていることを確認します。

    3. テーブルの名前を選択します。

    4. すべての列とデータ型が正しいことを確認します。

      注記

      これらの列の順序が、テーブルに追加した順序と同じではない場合があります。

この手順では、 を使用して、次の列とデータ型を持つテーブルを作成しますCQL。year 列と award列は、クラスター化列rankとして categoryおよび を持つパーティションキーであり、これらが一緒にテーブルのプライマリキーを構成します。

year int award text rank int category text book_title text author text publisher text
を使用してテーブルを作成するには CQL
  1. を開きます。 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.
  2. キー空間プロンプト (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はパーティションキー列であることに注意してください。次に、 categoryrankは昇順 () で並べられたクラスタリング列ですASC。これらの列は一緒にテーブルのプライマリキーを形成します。

  3. テーブルが作成されていることを確認します。

    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)>
  4. テーブルの構造を確認します。

    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の は別々の行に分割されます)。

  1. 次のステートメントを使用してテーブルを作成できます。

    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" }
  2. テーブルのメタデータとプロパティは、以下のコマンドで確認します。

    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) を作成、読み取り、更新、削除する