1

私は現在、プロジェクトのアーキテクチャを特定しています。かなりタイトなタイムラインであり、ローンチ後すぐに数十万人のユーザーをサポートする必要があり、そのビジネス ロジックとモデルは拡張されたツリー構造に緊密に結び付けられています。ドキュメントに記載されているさまざまな方法で、Mongo でこれを実行できることを知っています。最良の方法は、親フィールド + 次のいずれかのハイブリッド アプローチのようです: 具体化されたパスまたは祖先の配列。現在、私のテスト実装では祖先の配列を使用しており、その配列には関連ドキュメントの ObjectId が取り込まれています。サンプル データセットでは、一部のクエリ時間は希望よりも少し長くなりますが、それでも許容範囲内です。この構造を最適化するためのヒントはありますか? 私は完全な具体化されたパスを試しました、しかし、ツリーが 10 レベルを超えると、パフォーマンスが実際にクラッシュしたように見えました。テスト データ セットはすべて 50 万ドキュメントでした。関連する可能性のあるその他のコンポーネントは、Rails を利用した Web フロントエンドで、Rails と Mongo の間のインターフェースの大部分に Mongoid を使用しています。

4

0 に答える 0