スケジュールされた時刻にレポートを実行する必要があります。アプリケーションは 24 時間年中無休で実行されるため、「オフピーク」時間はありません。
したがって、レポートを実行しても、システムに過度の負荷がかかることはありません。
アプリケーションは WebSphere v6.1 で実行され、データベースは Oracle 10g R2 です。
私は自由に次のアプローチを持っています
- レポート用の非正規化テーブルのセット。
- マテリアライズド ビューを作成し、レポートに使用する。ビューは 1 日 1 回更新できます。
- 別のスキーマを作成し、Oracle の Data Guard を使用してテーブルをリアルタイムで複製できます。
(1) は、私たちが持っている特定の内部制約のために実現不可能です。
パフォーマンスの観点から、(2) と (3) のどちらが優れているかを知る必要があります。
マテリアライズド ビューは最初はうまく機能するが、データ量が増えるとパフォーマンスが非常に低下するという話を多くの人から聞いています。
誰でも、同じ DB サーバー内のテーブルのレプリケーションの経験があります (ただし、インスタンスまたはスキーマの差分)。