質問は、「平らにするか、平らにしないか」と言い換えることもできます。
ネストされた JSON ドキュメントを DocumentDB コレクションに格納する場合、それらのネストされた構造に対するクエリは、それらのネストされた構造を別のコレクションにフラットなドキュメントとして独自に格納した場合と同等に実行されますか?
問題のデータは一度書き込まれ、(おそらく) 更新されることはありません。レポートのパフォーマンスは、要件リストの一番上にあります。
一方では、ネストされた構造にデータを格納することは、ノースキーマ/ノー SQL テクノロジーを利用する「正しい」方法のように思えます。つまり、当然のことながら、ヘッダー データと詳細データをすべて 1 か所でコンテキスト内に関連付けたいと考えます。しかし、Web アプリケーションからそのコレクションに関するレポートを同時に実行しながら、1 分間に数千行を書き込んだら、スケーリングして実行し続けることができるでしょうか?
または、その詳細データを平坦化して、ヘッダー データの関連部分を詳細コレクションの各行に重複して格納する方がよいでしょうか? 長年の RDBMS 開発者/ユーザーとして、データを冗長に格納したくない傾向がありますが、高性能を優先してその考えを手放すべきでしょうか?
フラットなデータ構造は、DocumentDB でより効率的にクエリを実行し、どの程度のマージンがあるのでしょうか? つまり、それを行うことで何をあきらめているのでしょうか? また、パフォーマンスが最優先事項 (ただし唯一ではない) である場合、それだけの価値があるでしょうか?