RCP アプリケーションに EMF を使用しています。モデルは非常に複雑で、大きな xml ファイルがあるため、モデルの読み込みに時間がかかります。Eclipse CDO Model Repository を EMF と一緒に使用してモデルをデータベースに保存し、ロード時間を短縮するのは良い選択肢でしょうか。
CDO Model Repository を使用するとパフォーマンスは向上しますか? すでに CDO を使用している方から貴重なフィードバックをお寄せください。
RCP アプリケーションに EMF を使用しています。モデルは非常に複雑で、大きな xml ファイルがあるため、モデルの読み込みに時間がかかります。Eclipse CDO Model Repository を EMF と一緒に使用してモデルをデータベースに保存し、ロード時間を短縮するのは良い選択肢でしょうか。
CDO Model Repository を使用するとパフォーマンスは向上しますか? すでに CDO を使用している方から貴重なフィードバックをお寄せください。
CDO はパフォーマンスを向上させる可能性がありますが、すべてはアプリケーションの使用法とデータ アクセス パターンに依存します。
CDO は、特に要求が小さなデータ ブロックを使用する場合に、応答性を向上させる遅延読み込みをサポートします。
また、大きなデータ ブロックをロードしようとするとパフォーマンスが低下する可能性があります。また、アプリケーションとデータ ソースの間に追加のレイヤーが導入されていることに注意してください。したがって、レイテンシが増加する可能性があります。
実際、EMF インメモリ モデルに基づくアプリケーションが既にある場合、CDO とデータが遅延ロードされているという事実。
CDO の使用を選択する際の議論は、スケーラビリティ、同時実行性、およびトランザクション サポートに関連している必要があります。あなたが説明した問題から、大きなモデルでスケーラビリティの問題が発生する可能性があります。しかし、そうでない場合、CDO は役に立ちません。デフォルトで生成された EMF コードは、メモリ内データにアクセスするために高度に最適化されています。CDO のような追加のレイヤーを導入するだけでは、パフォーマンスを向上させることは困難です。
EMF は、CDO を使用せずに (デフォルトの生成パターンを使用して) リソースの遅延ロードもサポートすることに注意してください。より小さなリソースを定義し、リソース (プロキシ) 間で相互参照を行う必要があります。