ウォームスループットが高い新しい Amazon Keyspaces テーブルを作成する - Amazon Keyspaces (Apache Cassandra 向け)

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

ウォームスループットが高い新しい Amazon Keyspaces テーブルを作成する

コンソール、CQL、または を使用して、Amazon Keyspaces テーブルを作成するときにウォームスループット値を調整できます AWS CLI。

Console
ウォームスループット設定で新しいテーブルを作成する方法
  1. にサインインし AWS マネジメントコンソール、https://console.aws.amazon.com/keyspaces/home で Amazon Keyspaces コンソールを開きます。

  2. ナビゲーションペインで [Tables] (テーブル) を選択して、[Create table (テーブルの作成)] を選択します。

  3. [Table details (テーブルの詳細)] セクションの [Create table (テーブルの作成)] ページで、キースペースを選択し、新しいテーブルに名前を付けます。

  4. [列] セクションで、テーブルのスキーマを作成します。

  5. [プライマリキー] セクションで、テーブルのプライマリキーを定義し、オプションでクラスタリング列を選択します。

  6. [テーブルの設定] セクションで、[設定のカスタマイズ] を選択します。

  7. [Read/write capacity settings (読み取り/書き込みキャパシティの設定)] に進みます。

  8. キャパシティモードではオンデマンドまたはプロビジョンドのいずれかを選択できます。

  9. テーブルの事前ウォーミングセクションでは、必要に応じて 1 秒あたりの読み取り単位と 1 秒あたりの書き込み単位の値を増やして、計画されたピークイベントを処理するテーブルを準備することができます。

    Amazon Keyspaces がオンデマンド使用量またはプロビジョニングされた容量に基づいて調整するウォームスループット値は、追加料金なしですべてのテーブルでデフォルトで使用できます。デフォルトのウォームスループット値を手動で増やして、ピークトラフィックイベントのテーブルを事前ウォーミングする場合、追加料金が適用されます。

  10. 必要に応じて、他のオプションのテーブル機能を設定します。次に、[Create table] (テーブルを作成) を選択します。

Cassandra Query Language (CQL)
  • 次のいずれかの方法を使用して、ウォームスループットのテーブルを作成します。

    • プロビジョニングモードの場合は、テーブルを作成し、次の CQL 構文を使用して読み取りと書き込みの予想されるピーク容量を指定します。

      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)) WITH CUSTOM_PROPERTIES = { 'capacity_mode': { 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 20000, 'write_capacity_units': 10000 }, 'warm_throughput': { 'read_units_per_second': 40000, 'write_units_per_second': 20000 } };
    • オンデマンドモードでは、テーブルを作成し、次の CQL 構文を使用して読み取りと書き込みの予想されるピーク容量を指定します。

      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)) WITH CUSTOM_PROPERTIES = { 'capacity_mode': { 'throughput_mode': 'PAY_PER_REQUEST' }, 'warm_throughput': { 'read_units_per_second': 40000, 'write_units_per_second': 20000 } };

    テーブルの容量設定を確認するには、「」を参照してくださいAmazon Keyspaces テーブルのウォームスループットを表示する

CLI
  1. を使用して、次のいずれかの方法を使用してウォームスループットのテーブルを作成する AWS CLI

    • プロビジョンドモードで新しいテーブルを作成し、その新規テーブルの読み取りと書き込みの予想ピークキャパシティの値を指定します。以下のステートメントは、この例です。

      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=book_title,type=text},{name=author,type=text},{name=publisher,type=text}],partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]' \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=20000,writeCapacityUnits=10000 \ --warm-throughput-specification readUnitsPerSecond=40000,writeUnitsPerSecond=20000
    • オンデマンドモードで新しいテーブルを作成し、新しいテーブルの読み取りと書き込みに予想されるピーク容量値を指定します。以下のステートメントは、この例です。

      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=book_title,type=text},{name=author,type=text},{name=publisher,type=text}],partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]' \ --warmThroughputSpecification readUnitsPerSecond=40000,writeUnitsPerSecond=20000
  2. コマンドの出力は、次の例に示すように、テーブルの ARN を返します。

    { "resourceArn": "arn:aws::cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards>" }

    テーブルの容量設定を確認するには、「」を参照してくださいAmazon Keyspaces テーブルのウォームスループットを表示する

Java
SDK for Java を使用して新しいテーブルを作成します。
  • プロビジョンドモードで新しいテーブルを作成し、その新規テーブルの読み取りと書き込みの予想ピークキャパシティの値を指定します。次のコード例は、この例です。

    import software.amazon.awssdk.services.keyspaces.KeyspacesClient; import software.amazon.awssdk.services.keyspaces.model.*; public class PreWarmingExample { public static void main(String[] args) { KeyspacesClient keyspacesClient = KeyspacesClient.builder().build(); // Define schema List<ColumnDefinition> columns = Arrays.asList( ColumnDefinition.builder().name("year").type("int").build(), ColumnDefinition.builder().name("award").type("text").build(), ColumnDefinition.builder().name("rank").type("int").build(), ColumnDefinition.builder().name("category").type("text").build(), ColumnDefinition.builder().name("book_title").type("text").build(), ColumnDefinition.builder().name("author").type("text").build(), ColumnDefinition.builder().name("publisher").type("text").build() ); List<PartitionKey> partitionKeys = Arrays.asList( PartitionKey.builder().name("year").build(), PartitionKey.builder().name("award").build() ); List<ClusteringKey> clusteringKeys = Arrays.asList( ClusteringKey.builder().name("category").orderBy("ASC").build(), ClusteringKey.builder().name("rank").orderBy("ASC").build() ); SchemaDefinition schema = SchemaDefinition.builder() .allColumns(columns) .partitionKeys(partitionKeys) .clusteringKeys(clusteringKeys) .build(); // Define capacity specification CapacitySpecification capacitySpec = CapacitySpecification.builder() .throughputMode(ThroughputMode.PROVISIONED) .readCapacityUnits(20000) .writeCapacityUnits(10000) .build(); // Define warm throughput specification WarmThroughputSpecification warmThroughput = WarmThroughputSpecification.builder() .readUnitsPerSecond(40000L) .writeUnitsPerSecond(20000L) .build(); // Create table with PreWarming CreateTableRequest request = CreateTableRequest.builder() .keyspaceName("catalog") .tableName("book_awards") .schemaDefinition(schema) .capacitySpecification(capacitySpec) .warmThroughputSpecification(warmThroughput) .build(); CreateTableResponse response = keyspacesClient.createTable(request); System.out.println("Table created with ARN: " + response.resourceArn()); } }