私はmongodbからdynamodbにデータベースを移行しており、特にセカンダリローカルインデックスとソートキーを使用して、ベストプラクティスを理解しようとしています。DynamoDBでセカンダリインデックスまたは個別IDルックアップテーブルを使用する必要がありますか?
私のアプリケーションは、Webからhtmlデータを取得し、いくつかのテーブル/コレクションにデータを読み込みます。抽出時に、各項目にはextracted_id
という、それが引かれたウェブサイトに固有のものが与えられます。アイテムをロードする前に、各アイテムにプライマリ/パーティションキーとしてのUUIDを与えます。エンティティは、既存のentity_uuid
を持っているかどうかを確認するために、私は、DBを照会同じextracted_id
に異なるUUIDを割り当てる避けるために:
問題。
現在の解決策:現在、mongodbには、2組のテーブル/コレクションがあります。すべてのアイテムを格納するためのものと、エンティティの格納用のものとを含む。extracted_id
(キーとして)/entity_uuid
(値として)ルックアップテーブル。
よりよい解決策?:私はDynamoDBのに移動すると、重複するデータを保存しないようにと、唯一のローカルセカンダリインデックスとしてextracted_id
で1つのデータベースを作成する方がよいでしょうか?私は、ドキュメントがuse indexes sparingly.と言うときは確信していますextracted_id
は、指定されたサイトに対してuuid
のアイテムを提供する以外の目的では使用しません。
うまくいけば、私はAWS/DynamoDBの初心者であり、言及されているもののヒント/より良い解決策に感謝したいと思います。