翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Keyspaces でオンデマンドキャパシティモード用に新規テーブルを事前ウォーミングする
Amazon Keyspaces はスループットに基づいてストレージパーティションを自動的にスケールしますが、新しいテーブルの作成時や新しいスループットピークの到達時には、必要なストレージパーティションの割り当てに時間がかかる場合があります。オンデマンドキャパシティモードおよびプロビジョンドキャパシティモードのテーブルで、スループットの急増に対応できる十分なストレージパーティションを確保するために、新規または既存のテーブルを事前ウォーミングすることができます。
新しいテーブルを事前ウォーミングする一般的なシナリオは、別のデータベースからのデータの移行時に、短期間でテラバイト単位のデータをロードしなければならないような場合です。
オンデマンドテーブルでは、トラフィック量が増えるに従い、Amazon Keyspaces がキャパシティの割り当て量を自動的に増やします。新規のオンデマンドテーブルでは、1 秒あたり最大 4,000 回の書き込みと、1 秒あたり 12,000 回 (強整合性) または 24,000 回 (結果整合性) の読み取りを処理できます。オンデマンドテーブルのトラフィックは、過去に記録されたスループットに基づいて、時間の経過とともに増えていきます。
新しいテーブルの設定を上回るピークキャパシティの急増が予想される場合は、予想されるピークキャパシティに合わせてテーブルを事前ウォーミングしておくことができます。
Amazon Keyspaces でオンデマンドキャパシティモード用に新規テーブルを事前ウォーミングするには、以下の手順に従ってください。既存のテーブルを事前ウォーミングするには、「Amazon Keyspaces でオンデマンドキャパシティモード用に既存のテーブルを事前ウォーミングする」を参照してください。
まず、プロビジョンドモードのアカウントとテーブルのクォータを確認し、必要に応じて調整しておきましょう。
- Console
-
オンデマンドキャパシティモード用に新規テーブルを事前ウォーミングする方法
-
にサインインし AWS Management Console、https://console.aws.amazon.com/keyspaces/Amazon Keyspaces コンソールをホームで開きます。
-
ナビゲーションペインで [Tables] (テーブル) を選択して、[Create table (テーブルの作成)] を選択します。
-
[Table details (テーブルの詳細)] セクションの [Create table (テーブルの作成)] ページで、キースペースを選択し、新しいテーブルに名前を付けます。
-
[列] セクションで、テーブルのスキーマを作成します。
-
[プライマリキー] セクションで、テーブルのプライマリキーを定義し、オプションでクラスタリング列を選択します。
[Table settings (テーブルの設定)] セクションで、[Customize settings (設定のカスタマイズ)] を選択します。
-
[Read/write capacity settings (読み取り/書き込みキャパシティの設定)] に進みます。
-
[Capacity mode (キャパシティモード)] で、[Provisioned (プロビジョン)] を選択します。
-
[読み込みキャパシティ] セクションで、[自動スケーリング] の選択を解除します。
テーブルの [プロビジョニングされたキャパシティユニット] を、予想されるピーク値に設定します。
-
[書き込みキャパシティ] セクションで、前の手順で定義した読み取りキャパシティと同じ設定を選択するか、またはキャパシティの値を手動で設定します。
-
[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': 18000,
'write_capacity_units': 6000
}
};
テーブルのステータスを確認します。次のステートメントを使用できます。
SELECT keyspace_name, table_name, status FROM system_schema_mcs.tables WHERE keyspace_name = 'catalog' AND table_name = 'book_awards';
keyspace_name | table_name | status
---------------+-----------------+--------
catalog | book_awards | ACTIVE
(1 rows)
テーブルのステータスが ACTIVE
の場合、次のステートメントを使用してスループットモードを PAY_PER_REQUEST
に設定し、テーブルのキャパシティモードをオンデマンドモードに変更できます。以下のステートメントは、この例です。
ALTER TABLE catalog.book_awards WITH CUSTOM_PROPERTIES={'capacity_mode':{'throughput_mode': 'PAY_PER_REQUEST'}};
次のステートメントを使用して、テーブルがオンデマンドモードになったことを確認し、テーブルのステータスを確認できます。
SELECT * from system_schema_mcs.tables where keyspace_name = 'catalog' and table_name = 'book_awards';
- CLI
-
を使用して、オンデマンドキャパシティモード用に新しいテーブルを事前ウォーミングする AWS CLI
プロビジョンドモードで新しいテーブルを作成し、その新規テーブルの読み取りと書き込みの予想ピークキャパシティの値を指定します。以下のステートメントは、この例です。
aws keyspaces create-table --keyspace-name catalog --table-name book_awards
\--schema-definition 'allColumns=[{name=pk,type=int},{name=ck,type=int}],partitionKeys=[{name=pk},{name=ck}]'
\--capacity-specification throughputMode=PROVISIONED,readCapacityUnits=18000,writeCapacityUnits=6000
テーブルのステータスを確認します。次のステートメントを使用できます。
aws keyspaces get-table --keyspace-name catalog --table-name book_awards
テーブルがアクティブになっていて、キャパシティがプロビジョニングされている場合は、テーブルをオンデマンドモードに変更できます。次に例を示します。
aws keyspaces update-table --keyspace-name catalog --table-name book_awards --capacity-specification throughputMode=PAY_PER_REQUEST
次のステートメントを使用して、テーブルがオンデマンドモードになったことを確認し、テーブルのステータスを確認できます。
aws keyspaces get-table --keyspace-name catalog --table-name book_awards
テーブルがオンデマンドキャパシティモードでアクティブになったら、以前のプロビジョンドキャパシティモードと同様のスループットキャパシティを処理できるようになっています。