2011-06-22 22 views
2

MongoDbでレイジーローディングとは何ですか? 我々は、データベースを作成する場合、それは同様に行われますのみによる遅延ロードにMongoDbでレイジー読み込み

m.getDB(<dbName>).getCollectionNames() 

。誰でも説明できますか?

+0

質問は不明です。あなたが知りたいことの別の例を挙げてください。そして、データベースの作成は遅延読み込みと何が関係していますか? – Thilo

+0

これはここで答えられます: http://stackoverflow.com/questions/3989791/lazy-loading-in-mongodb-with-normありがとう – kheya

答えて

6

遅延読み込みは、データベース自体の機能ではありません。つまり、クライアントがドライバ(またはORM)を介してクエリを発行すると、ORMはクエリが作成されたときにオブジェクトグラフ全体をロードしないように選択できます。結果として得られたオブジェクトが実際に使用され/アクセスされたときにのみ、dbにクエリを行うことを選択することができます。

これもまた、使用できるデータベースとは無関係であり、通常ORM自体に組み込まれているものです。これは最適化/パフォーマンス上の理由から実行されます。オブジェクトグラフの一部が常にアクセスされない場合は、実際にアクセスされたときに2つのインスタンスに遅延ロードすると問題ありません。これは、ORMがアクセス時にそのデータをロードして呼び出しをクライアントコードに戻すために実行されるクエリが存在することを意味します。

通常、アプリの開発者は、オブジェクトグラフのどのプロパティ/部分を熱心に読み込み、遅く読み込むべきかを指定できます。

いくつかのnosqlオプションには、これを可能にするORM機能があるかもしれませんが、これがRDBMSの世界であり、完全なORMが非常に一般的であることがわかる最も一般的なシナリオです。

hibernateの遅延読み込み/遅延読み込み機能を検索して、一般的な考え方をよりよく理解することができます。

+0

ORMはSQLデータベースの用語です。 Hibernateは、ドキュメントベースのデータベース用にOGMを作成しました。 – MoienGK

関連する問題