AWS
DynamoDB

DynamoDBを使ってみて



  • DynamoDBを使った際のメモ

  • 内容に古い点があればご指摘ください


内容


  • 古くなったデータはTTL機能で消せる。トリガーを使えば移動も可能

  • または、最初から月次テーブルとして作成し、数ヶ月で消す(当月以外はキャパシティを低くする)

  • テーブルのサイズが10GBを超えるとパーティション分割される。キャパシティはパーティション数で割り算されるため、参照頻度の低い古いデータが溜まると性能が落ちていく。(データが減ってもパーティション数は減らない点も注意)

  • LSIを使った際に、「同じハッシュキーを持つItem」の合計サイズに、10GBという制限がある。射影を控えて制約にひっかからないようにする。

  • 項目コレクションのサイズを監視することにより、データ量の警告(8GBを超えましたなど)を出すことができる

  • 項目の最大サイズは400KBだが、このサイズではreadで100、writeで400キャパシティが必要になる。項目サイズがキャパシティ見積もりに影響大。

  • 「スパースなインデックス」により、特定の状態にある項目を軽量に取得可能

  • autoScaleを使用したとして、急激な要求量の増加に耐えられるかどうか。耐えられない場合は、どこかで要求量がなだらかに増加するように調整できるか検討する

  • (利用しなかったキャパシティを300秒間保持しているので、この部分を使い果たす前に、Scaleを上げる必要がある)