Нам нужно запускать отчеты в запланированное время дня.
Приложение работает 24 * 7, и поэтому не существует "непикового" времени как такового.
Поэтому запуск отчетов не должен добавлять чрезмерную нагрузку на систему.
Приложение работает в WebSphere v6.1, а база данных - Oracle 10g R2.
В моем распоряжении следующие подходы
- Набор ненормализованных таблиц, предназначенных для отчетности.
- Создание материализованных представлений и использование их для отчетов. Мы можем обновлять представления один раз в день.
- Мы можем создать другую схему и реплицировать таблицы в реальном времени, используя Oracle Data Guard.
(1) невозможно из-за определенных внутренних ограничений.
Мне нужно знать, с точки зрения производительности, что лучше, (2) или (3)?
Я слышал от многих людей, что материализованные представления вначале работают хорошо, но по мере увеличения объемов данных
производительность очень плохая.
Любой имеет опыт репликации таблиц на одном и том же сервере БД (но не в разных экземплярах или схемах).