Help us understand the problem. What is going on with this article?

AWS Dev Day Tokyo 2018 参加メモ

More than 1 year has passed since last update.

Amazon DynamoDB Advanced Design Pattern

RDBMSのように正規化するとNG。
スキーマ設計は、アクセスの方法、パターンを意識する。
GSIを利用してデータを引くパターンに適用していく。
複雑な条件での検索では、
   フィルターを利用(Provisioningスループットの消費に注意)。
CopositeKey(キーの結合)を利用。
    Sparse Indexesってのもある。
GSI Overloading(GSIの多重定義)
GSI側でインデックスを変える。インデックスの制限を回避出来るが、テーブル構成は複雑化する。
Vertical Partitioning
大きなデータを格納する時、GSIに逃がして、必要な時に取得しにいくようにする。

DesignPattern and best practices

DynamoDBTrigger
DynamoDBStream
TTL
即時に削除されるわけではない

TimeBase(時系列) Worklows
ホットデータとコールドデータでテーブルを分ける。
    ホットデータテーブルをコールドデータテーブルへStreamを使用して転送。コールドデータテーブル一定期間来たらTTLで消す。
   
 ProductCatalog
  パーティショニングのデータが偏ってアクセス過多の時、RCUを高い見積もりを出してしまいコストがかさむ。
    -> DAXによるキャッシングする方法。
逆に書き込み過多の場合、SQSで受けてキューで負荷調整をする。
  パーティションキーをシャーディング(パーティショニング)することを検討。
  

mercari
フリマアプリ「メルカリ」を、グローバルで開発しています。
https://tech.mercari.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away