BigTableのデザインは、明示的に小さなテーブルの大きなホストへの非正規化を好む、標準のリレーショナルモデルの哲学の多くを拒否します。
これが問題となる大きな領域の1つは、多対多の結合のモデリングです。
これらの結合をモデル化する1つの方法は、最初の正規形に違反し、すべての興味深いデータをdb.ListProperty()に置くことです。これはクエリから検索可能ですが、リストの検索と別のテーブルのプルのパフォーマンスへの影響についてはまだ調べていません。
結合はできないため、RelationshipPropertiesを介してテーブルをリンクすることができます。したがって、十分な労力をかけて、標準の交差テーブル(両方の親テーブルを参照する結合主キーを持つテーブル)を作成できます。さまざまな実装のパフォーマンスへの影響を調査した人はいますか?
-編集-
ドキュメントで提案されているキーのリストは確かにそれを行う1つの方法ですが、私はそのパフォーマンスと他の実装の異常率に興味があります。キーの相互リストを作成するのにユーティリティはありますか?繰り返しに伴う努力はその代価に見合うものですか?それを行うより良い方法はありますか?