変更フィードを使用して参照整合性を管理する
前のユニットでは、eコマース アプリケーションで必要なデータを 1 つの要求で提供することにより、データを非正規化するとパフォーマンスが大幅に向上し、RU コストが減る可能性があることを見ました。 ただし、このようにデータを非正規化した場合は、productCategory コンテナーおよび productTag コンテナー内のマスター データと、製品コンテナーの間で、参照整合性を維持する方法が必要です。
幸いなことに、Azure Cosmos DB には参照整合性を管理できる "変更フィード" という機能があります。 変更フィードは、すべての Azure Cosmos DB コンテナー内に存在する API です。 Azure Cosmos DB にデータを挿入または更新するたびに、変更フィード機能によって、これらの変更が、リッスンできる API にストリーミングされます。 イベントがトリガーされると、変更フィードを使用して、変更されたデータに対応するコードを実行することができます。
この eコマース アプリケーションでは、変更フィードを使用して productCategory をリッスンし、変更を製品コンテナーに伝達します。 その後、2 つ目の変更フィードを使用して productTag コンテナーをリッスンし、同じことを行います。