2016-09-24 5 views
1

eコマースフロントエンドからの注文を格納するDynamoDBテーブルを作成します。ユーザーが注文すると、注文はDynamoDBテーブルに格納されます。このテーブルにはプライマリキー(order_id)とグローバルセカンダリインデックス(email、SSN)があります。eコマース注文テーブルのモデリング - DynamoDB + SNS + SQS

注文ステータスでも照会したいと思います。 私は特定の日付に特定のステータスのすべての注文を取得したいと思います。この行動をモデル化する最良の方法はどれですか?

ソートキーを使用して別のグローバルセカンダリインデックスを作成しますか?

答えて

1

はい、別のGSIを追加する必要があります。

しかし、これはお金にかかります。あなた自身に聞くことができる1つの質問は、本当にリアルタイム/低レイテンシのルックアップが必要なのか?

そうでない場合は、DynamoDBデータをRedshiftのようなデータストアにコピーし、その上でクエリを実行することを検討できます。これは:

  • あなたのアプリケーションによっては、よりコスト効率が良いかもしれません。
  • 今後、さまざまな種類のクエリパターンをサポートできます。 (DynamoDBには5つのGSIしかありませんが、すでに2つ使用していることを覚えておいてください)
関連する問題