Рассмотрим план выполнения и убедимся, что просмотр
таблицы Regions и операция соединения исчезли:
SELECT
STATEMENT Optimizer=ALL_ROWS
SORT (AGGREGATE)
TABLE ACCESS (BY INDEX ROWID) OF 'SALES'
BITMAP CONVERSION (TO ROWIDS)
BITMAP INDEX (SINGLE VALUE) OF
'SALES_REG_BJI'
|
Средства обеспечения масштабируемости приложений
технологию разработки напрямую не затрагивают, но позволяют обойтись без
модификации приложения при увеличении объёма данных или количества
пользователей.
Real Application Cluster
Технология Real Application Cluster заслуживает
отдельной статьи или даже серии статей. Эта технология позволяет перенести приложение, разработанное без учёта особенностей кластерной архитектуры, на кластер, и
получить при этом существенное увеличение и производительности, и
отказоустойчивости.
Кроме этого к средствам обеспечения масштабируемости
можно отнести автоматическое распределение памяти PGA и тонкое распределение
ресурсов сервера (развитие технологии Database Resource Manager).
Очень большое внимание в Oracle9i уделено средствам
работы с хранилищами данных. При работе с ними, как правило, требуется решить
две основные проблемы – как загрузить данные в хранилище и как их потом
анализировать.
Для решения первой проблемы данные нужно сначала
извлечь из какого-либо источника (часто этим источником является OLTP-система), потом преобразовать (выполнить денормализацию, просуммировать по какому-либо
показателю и т.п.), и потом загрузить в базу данных. Для обозначения этого
процесса обычно используется аббревиатура ETL (Extraction, Transformation and
Loading).
Одна из основных задач в процессе ETL – определить, какие данные были изменены после последней загрузки хранилища. Технология
Change Data Capture позволяет отслеживать все изменения данных, сохранять
информацию об изменениях в таблицах изменений (change tables) и просматривать
изменения данных за нужный промежуток времени.
Если данные в хранилище загружаются из внешних файлов, то появление внешних таблиц (External Tables) позволяет избежать одного из
шагов в ETL-процессе. Внешняя таблица – это таблица, структура которой описана
в базе данных, а данные хранятся в плоском файле. В базе данных необходимо
описать формат этого файла, для этого используется язык, очень похожий на язык
управляющих файлов SQL*Loader. Естественно, внешние таблицы можно использовать
только для запросов. Описываются они приблизительно так: