|
Программирование >> Oracle
Материализованные представления 1123 Процедура пакета DBMS OLAP учла существующие измерения и материализованные представления и выдала рекомендации по созданию дополнительных материализованных представлений, которые могут оказаться полезными с учетом имеющихся у сервера метаданных (первичных ключей, внешних ключей и измерений). При использовании утилиты Oracle Trace можно пойти в процессе выработки рекомендаций чуть дальше. Утилита Oracle Trace позволяет перехватывать фактические запросы к данным, принимаемые сервером, и записывать подробную информацию о них. Эта информация будет использоваться пакетом DBMS OLAP для выработки еще более точных рекомендаций, основанных не только на потенциальных возможностях, но и на реальных запросах, выполняемых к данным. При этом не рекомендуется создание материализованных представлений, которые теоретически могли бы, но не будут использоваться при таком потоке запросов. Рекомендоваться будут только те материализованные представления, которые будут использованы для выполнения запросов, реально поступающих в систему. Проблемы При использовании материализованных представлений надо учитывать ряд соображений. Мы кратко поговорим о них в этом разделе. Материализованные представления не предназначены для систем ООТ Как уже упоминалось, поддержка материализованных представлений требует дополнительных затрат ресурсов при выполнении отдельных транзакций и, если представления созданы с опцией REFRESH ON COMMIT, приводит к конфликтам. Дополнительные затраты ресурсов связаны с необходимостью учета изменений, выполненных транзакцией, - эти изменения будут либо сохраняться в качестве данных состояния сеанса, либо регистрироваться в таблицах. В системах, интенсивно обрабатывающих транзакции, такие дополнительные затраты ресурсов нежелательны. Проблема одновременного доступа возникает для материализованных представлений с опцией REFRESH ON COMMIT из-за того, что многие записи в исходной таблице фактов ссылаются на одну строку в итоговой таблице. Изменение любой из многих тысяч записей, которые могут существовать, приводит к необходимости изменить одну строку в итоговой таблице. Это, естественно, мешает одновременному доступу при интенсивных изменениях. Это не исключает использования материализованных представлений, в частности представлений, обновляемых по требованию (REFRESH ON DEMAND), в среде ООТ при полном обновлении. Полное обновление не требует дополнительных затрат ресурсов на отслеживание изменений на уровне транзакций. Вместо этого в определенный момент времени выполняется запрос, определяющий материализованное представление, и его результаты просто заменяют существующее материализованное представление. Поскольку делается это по требованию (или периодически), такое обновление можно выполнять в периоды низкой загруженности сервера. Полученное материализованное 1124 Глава 12 представление особенно пригодится для создания отчетов: данные ООТ можно каждую ночь преобразовывать с помощью SQL-операторов в форму, упрощающую и ускоряющую выполнение запросов. На следующий день оперативные отчеты по результатам вчерашней работы выполняются максимально быстро, не мешая при этом обработке транзакций. Целостность запросов при переписывании Как было описано ранее, есть три режима обеспечения целостности. ENFORCED. Будет использовать материализованное представление, только если при этом невозможно получение некорректных или устаревших данных. TRUSTED. Сервер Oracle будет использовать материализованное представление, даже если некоторые требования, на которые он при этом полагается, им не проверяются и не обеспечиваются. Эта ситуация типична в среде хранилища данн1х, где многие требования целостности соблюдены, но не поддерживаются сервером Oracle. STALE TOLERATED. Сервер Oracle будет использовать материализованное представление, даже если знает , что данные, по которым оно построено, изменились. Эта ситуация типична для среды создания отчетов, вроде описанной выше. Надо понимать последствия использования каждого из этих режимов. Рсим ENFORCED дает правильные ответы всегда - за счет отказа от использования некоторых материализованных представлений, которые могли бы ускорить выполнение запроса. В режиме TRUSTED, если окажется, что условие, которому сервер Oracle попросили доверять, в действительности не выполняется, могут выдаваться результаты, отличные от получаемых по исходным данным. Такая ситуация была рассмотрена в примере с материализованным представлением EMP DEPT. Режим STALE TOLERATED следует использовать в системах создания отчетов, где вполне допустимо получить устаревшее значение. Если требуется актуальная информация с точностью до минуты, жим STALE TOLERATED использовать нельзя. Резюме Материализованные представления - мощное средство повышения производительности хранилищ данных и систем поддержки принятия решений. Одно материализованное представление может использоваться многими взаимосвязанными запросами. Самое главное, что его использование полностью прозрачно для приложения и пользователя. Не нужно сообщать пользователям, какие итоговые таблицы поддерживаются, -об этом информируется сервер Oracle с помощью требований целостности ссылок и измерений. Все остальное сервер сделает автоматически. Материализованные представления - естественное развитие и объединение различных возможностей сервера и средств поддержки принятия решений. Средства поддержки итогов1х таблиц Oracle Discoverer (и других подобн1х программ) уже не ограничены только этой средой. Теперь любой клиент, от замечательного SQL*Plus до разработан- Материализованные представления 1125 ного вами приложения и готовых средств создания отчетов, может использовать уже где-то хранящийся ответ на его запрос. Добавьте к этому возможности пакета DBMS OLAP. Он не только позволяет оценить, сколько дополнительно места на диске понадобится для поддержки материализованного представления, но и может следить за использованием существующих представлений. На основе этой информации пакет рекомендует удалить одни и создать другие представления - вплоть до выдачи текста запроса, который имеет смысл для этого использовать. В конечном итоге, материализованные представления в среде, где данные только читаются или интенсивно читаются, несомненно, оправдают выделенное для них дополнительное место на диске, сократив время выполнения и экономя ресурсы, необходимые для фактического выполнения запросов.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |