1

私はmongoドキュメントで配列フィールドを多用するスキームに取り組んでいますが、他のドキュメントなどのかなり大きな配列を保持するアプローチに既知の問題はありますか?

パフォーマンスの問題?

mongoにかなり慣れておらず、SQLのバックグラウンドから来ているため、「主キー」を保持する代わりに「主キー」のセットによってテーブル内のすべてのレコードをグループ化するアプローチとは少し異なるため、このアプローチは「場違い」に思えます。一度、残りのデータを配列に保持します。

「主キー」アプローチは、mongoでも使用するもう1つのオプションです。

何が一番いいですか?

4

1 に答える 1

1

特別なパフォーマンスの問題は認識していません。心に留めておく必要があるのは、1 つのドキュメントに対して最大で約 16MB しかないということです。そのため、数百または数千のサブドキュメントがある場合、妥当な長さで、ドキュメントの制限で問題が発生する可能性があります。これらのサブドキュメントとプライマリ ドキュメントが必要な頻度に応じて、分割することを検討してください。そうしないと、プライマリ ドキュメント (サブドキュメント) が過負荷になり、他の「ビジネス オブジェクト」が RAM に保持されなくなります。だから、これはポイントかもしれません。
さらに、実際に配列を操作することなく、親を必要とせずに、それらのサブドキュメントがすべてのサブドキュメントで表示/クエリされる可能性がある場合は、主キーのみを使用するのが賢明かもしれません。これらのサブドキュメントが個別に頻繁に必要かどうかは、事実に大きく依存すると思います。

何が最善であるかは、ユースケースの問題であり、一般的には何もありません:)

于 2012-06-12T06:06:11.227 に答える