DynamoDB(JAWS-UGレビュー)

昨日のセッションに参加できなかったのでslideshareで勉強。

NoSQL as a service

  • リッチなSQLを諦めるかわりに、スケーラビリティ(性能×データ量)を追求
  • 料金体系は、実際に使用したストレージ容量(容量に制限は無い)&プロビジョンスループット(書き込み・読み込みの速度を指定)
  • 主に巨大なデータを扱う場合に有効

Hash Key

  • プライマリのキー(必ず指定)
  • シャーディングにおいてパーティションを決める要素となる

Range Key

  • セカンダリのキー(指定しても良い)
  • ある Hash Key && Range Key に合致する複数の行は、パーティションにおいて連続していることが保証される(読み込みに有利)

Local Secondary Index(LSI)

  • セカンダリのキー(指定しても良い)
  • Hash Key && LSI のIndexテーブルを新たに追加することになる
  • それによってストレージ容量やI/O(書き込み)が増えることに注意(最大5つまで指定可能、また後から追加も可能)

フルマネージドデータベースと言われる所以

  • シャードインデックスノード(どのシャードにデータが存在するかを管理する)や、キャッシュノード(読み取られたデータをビューとして保存し次回検索時に高速化)の管理が不要になる

JAWS-UGのスライド