私たちは、現在考えられているオブジェクト設計上の問題についてよく考えていないようです。複雑なRavenDbオブジェクトのレイジーローディング
RavenDbデータベースには、何千ものルート集約オブジェクトが格納されています。特定の大規模顧客にとって、これらのオブジェクトは、Web操作(ページのオープン、データの保存など)を効果的に実行するには大きすぎます。次のように
構造は次のとおりです。 Accountオブジェクトは、その下に集約ルート で、小さなオブジェクトとサイズがすべての「罰金」ですコレクションの茄多があり、非常に大きくなるとことができ呼ばれる1つのコレクションの資源を除いルートオブジェクトが複数のメガバイトのサイズになるようにします。これにより、アカウントとその内部データの基本的なCRUD操作が非常に遅くなります
リソースコレクション内のオブジェクトは、それ自体が巨大ではありませんが、独自の子を持ち、それらはサイズを上げてドラッグします。 各リソースオブジェクトには、メトリック、アクション、アラート、スケーリング、その他の「重い」コレクションがあります。
コードベースは数十万行のスーパーコンプレックスです。そして数百コード参照の行数千人のいない場合、リソースの収集とその中にリソースオブジェクトを検査しますが、それぞれのリソースオブジェクトの基礎となる子コレクションへのアクセスは不定期と、ほとんどの時間で
質問を一つの資源をやっように見える :Accountオブジェクト、その他のすべての子オブジェクト、オブジェクト、および最初のレベルのResourceオブジェクトだけをロードするには、リソースの遅延サブタイプをロードしますか?
そこで質問は何ですか? – Bestter
"アカウントオブジェクト、その他のすべての子やオブジェクト、そして最初のレベルのリソースオブジェクトだけをロードしてから、リソースのレイジーロードサブフォルダ(遅延ロード可能な特定のコレクションが7つあります) ) " – Igorek
@Igorekは私の答えであなたの問題を解決しましたか? –