翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 3: テーブルのスループットキャパシティを設定する
このチュートリアルでは、設定された時間範囲内でデータがロードされるように cqlsh を調整する方法を示します。事前に実行する読み取りと書き込みの数がわかっているので、プロビジョンドキャパシティモードを使用します。データ転送が完了したら、アプリケーションのトラフィックパターンに合わせてテーブルのキャパシティモードを設定する必要があります。キャパシティ管理の詳細については、「Amazon Keyspaces でのサーバーレスリソースの管理 (Apache Cassandra 向け)」を参照してください。
プロビジョンドキャパシティモードでは、事前にテーブルにプロビジョニングする読み取りキャパシティと書き込みキャパシティの量を指定します。書き込み容量は 1 時間ごとに課金され、書き込み容量単位 () で計測されますWCUs。各 WCUは、1 秒あたり 1 KB のデータの書き込みをサポートするのに十分な書き込み容量です。データをロードするとき、書き込みレートはターゲットテーブルに設定されている最大 WCUs (パラメータ: write_capacity_units
) 未満である必要があります。
デフォルトでは、アカウント内のすべてのテーブルWCUsで最大 40,000 をテーブルWCUsにプロビジョニングし、80,000 をプロビジョニングできます。追加のキャパシティが必要な場合は、Service Quotas
挿入WCUsに必要な平均数を計算する
1 秒あたり 1 KB のデータを挿入するには、1 つの が必要ですWCU。CSV ファイルに 360,000 行があり、1 時間ですべてのデータをロードする場合は、1 秒あたり 100 行 (360,000 行/60 分/60 秒 = 100 行/秒) を書き込む必要があります。各行に最大 1 KB のデータがある場合、1 秒あたり 100 行を挿入するには、テーブルに 100 行WCUsをプロビジョニングする必要があります。各行に 1.5 KB のデータがある場合、1 秒あたり 1 行を挿入WCUsするには 2 つ必要です。したがって、1 秒あたり 100 行を挿入するには、200 をプロビジョニングする必要がありますWCUs。
1 秒あたり 1 行を挿入する必要がある行数を決定するWCUsには、平均行サイズをバイト単位で 1024 で割り、最も近い整数に切り上げます。
例えば、平均行サイズが 3000 バイトの場合、1 秒あたり 1 行を挿入WCUsするには 3 つ必要です。
ROUNDUP(3000 / 1024) = ROUNDUP(2.93) = 3 WCUs
データのロード時間とキャパシティを計算する
これで、CSVファイル内の平均サイズと行数がわかったので、特定の時間内にデータをロードWCUsするために必要な数と、異なるWCU設定を使用してCSVファイル内のすべてのデータをロードするのにかかるおおよその時間を計算できます。
例えば、ファイル内の各行が 1 KB で、CSVファイルに 1,000,000 行がある場合、1 時間でデータをロードするには、その時間にテーブルWCUsに 278 行以上をプロビジョニングする必要があります。
1,000,000 rows * 1 KBs = 1,000,000 KBs 1,000,000 KBs / 3600 seconds =277.8 KBs / second = 278 WCUs
プロビジョンドキャパシティを設定する
テーブルの作成時、または ALTER TABLE
CQL コマンドを使用して、テーブルの書き込み容量を設定できます。以下は、 ALTER TABLE
CQLステートメントを使用してテーブルのプロビジョニングされた容量設定を変更するための構文です。
ALTER TABLE
mykeyspace.mytable
WITH custom_properties={'capacity_mode':{'throughput_mode': 'PROVISIONED', 'read_capacity_units':100
, 'write_capacity_units':278
}} ;
完全な言語リファレンスについては、「ALTER TABLE」を参照してください。