web-dev-qa-db-ja.com

DynamoDBの読み取りキャパシティーユニットと書き込みキャパシティーユニットの計算方法

次のデータを使用してRCUおよびWCUを計算する方法:読み取りスループット32 GB /秒および書き込みスループット16 GB /秒。

24
pavikirthi

DynamoDBプロビジョニングスループット は、特定のサイズのユニットと書き込まれるアイテムの数に基づきます。

DynamoDBでは、プロビジョニングされたスループット要件を容量単位で指定します。次のガイドラインを使用して、プロビジョニングされたスループットを決定します。

  • 1つの読み取りキャパシティーユニットは、サイズが最大4 KBのアイテムについて、1秒あたり1つの強力な一貫性のある読み取り、または1秒あたり2つの最終的に一貫した読み取りを表します。 4 KBを超えるアイテムを読み取る必要がある場合、DynamoDBは追加の読み取りキャパシティーユニットを消費する必要があります。必要な読み取りキャパシティーユニットの総数は、アイテムサイズと、最終的に一貫性のある読み取りが必要か、強い一貫性の読み取りが必要かによって異なります。
  • 1つの書き込み容量単位は、サイズが1 KBまでのアイテムの1秒あたり1回の書き込みを表します。 1 KBを超えるアイテムを書き込む必要がある場合、DynamoDBは追加の書き込み容量ユニットを消費する必要があります。必要な書き込みキャパシティーユニットの総数は、アイテムのサイズによって異なります。

したがって、希望の容量を決定する際には、1秒あたりに読み書きするアイテム数とsizeそれらのアイテム。

特定のGB /秒をシークするのではなく、1秒あたりに読み取り/書き込みを行うアイテムの数をシークする必要があります。それが、アプリケーションが運用パフォーマンスを満たすために必要とする機能です。

DynamoDBの制限 も適用されますが、これらは要求に応じて変更できます。

  • 米国東部(バージニア北部)リージョン:
    • テーブルごと– 40,000の読み取りキャパシティーユニットと40,000の書き込みキャパシティーユニット
    • アカウントごと– 80,000の読み取りキャパシティーユニットと80,000の書き込みキャパシティーユニット
  • その他のすべての地域:
    • テーブルごと– 10,000の読み取りキャパシティーユニットと10,000の書き込みキャパシティーユニット
    • アカウントごと– 20,000の読み取りキャパシティーユニットと20,000の書き込みキャパシティーユニット

40,000の読み取りキャパシティーユニットx 4KB x 2(最終的に一貫性のある)= 320MB/s

私の計算が正しい場合、要件はこの量の100倍になります。そのため、DynamoDBはこのような高スループットには適切なソリューションではないようです。

速度は正しいですか?

次に、1秒間に大量のデータをどのように生成するかという問題があります。全二重10GFCファイバーは2550MB/sで実行されるため、AWSクラウドに出入りするデータを送信するには複数のファイバー接続が必要になります。

10Gbイーサネットでも10Gbit/sしか提供しないため、32GBの転送には28秒かかります。これは1秒のデータを送信するためです!

一番下の行:データ要件が非常に高い。彼らは現実的ですか?

65
John Rotenstein

dynamodbテーブルの[容量]タブをクリックすると、[推定コスト]の横に容量計算機のリンクがあります。これを使用して、推定コストとともに読み取りおよび書き込みキャパシティーユニットを決定できます。

読み取りキャパシティーユニットは、必要な読み取りのタイプ(強い整合性/最終的な整合性)、アイテムサイズ、および希望するスループットに依存します。

書き込みキャパシティーユニットは、スループットとアイテムサイズのみによって決定されます。

アイテムのサイズを計算するには、 this を参照してください。以下は計算機のスクリーンショットです enter image description here