以下に説明する単純なシステムを実現するためのデータモデルを構築するための効率的な方法について、誰かが概念的なアドバイスを提供するのではないかと考えています。非リレーショナルな方法で考えるのは少し新しいので、明らかな落とし穴を避けてみてください。基本的な原則は、正規化されたRDBMSの場合のように、「ストレージは安価で、データの重複を心配しないでください」ということだと理解しています。
モデル化したいのは次のとおりです。
0-nタグを付けることができるブログ記事。多くのブログ記事が同じタグを共有できます。データを取得するときに、タグに一致するすべての記事を取得できるようにします。多くの点で、stackoverflowでここで採用されているアプローチと非常によく似ています。
私の通常の考え方は、タグとブログ記事の間に多対多の関係を作成することです。しかし、GAEのコンテキストでは、これが行われている例を見てきましたが、これは費用がかかると考えています。
おそらく、記事エンティティの一部として各タグを含むListPropertyと、タグが追加および削除されたときにタグを追跡するための2番目のデータモデルを使用しますか?このように、関係は必要なく、ListPropertyは、一致するリスト要素が結果を返すクエリを引き続き許可します。
GAEでこれに取り組む最も効率的な方法に関する提案はありますか?