Как вы уже знаете, базовые данные из таблицы фактов могут быть предварительно просуммированы и сохранены в постоянных таблицах. Такой процесс называется агрегацией, он может значительно улучшить время ответа по запросу, поскольку сканирование миллионов строк для вычисления агрегации на лету может занять очень много времени.
Существует компромисс между требованиями хранения и процентом возможной агрегации, которая вычисляется и сохраняется. Вычисление всех возможных агрегатов в кубе и сохранение их на диске приводит к максимально возможной скорости ответа для всех запросов, потому что ответ на любой запрос является практически непосредственным без промежуточных этапов. Недостатком такого подхода является то, что время на сохранение и обработку, требуемое для агрегаций, может быть значительным.
С другой стороны, если никакие агрегации не вычисляются и не сохраняются, вам не нужно никакого дополнительного дискового пространства, однако время ответа на запросы, связанные с агрегатными функциями, может быть велико, потому что каждый агрегат должен быть вычислен на лету.
Analysis Services предоставляет мастер Aggregation Design Wizard для помощи вам в оптимальном проектировании агрегаций. Для запуска этого мастера щелкните по таблице Partitions в Cube Designer. (На рис. 23.6 показана таблица Partitions для таблицы фактов Factinternetsaies.) В таблице, которая появляется в Cube Designer (Factinternetsaies), щелкните по значению столбца Aggregations. После этого щелкните по кнопке многоточия (...) в том же поле. Будет запущен мастер Aggregation Design Wizard.
На первом шаге выполнения мастера вы просматриваете агрегации с использованием установок в окне Review Aggregation. Здесь вы можете добавить или убрать атрибуты, появляющиеся на этой странице.
Следующим шагом после выбора структуры хранения является задание количества членов в каждом атрибуте. Это вы делаете на странице Specify Objects Counts. Для каждого выбранного объекта куба вы должны ввести предполагаемое количество значений или количество значений сегментов, прежде чем вы запустите на выполнение мастер. Щелкните мышью по кнопке Count для запуска мастера, который подсчитает и отобразит найденное количество счетчиков.
На втором и последнем шаге на странице Set Aggregation Options (рис. 23.7) выберите одну из четырех опций для задания точки, до которой агрегации должны быть спроектированы (или вообще не должны проектироваться):
♦ Estimated storage reaches ... MB задает максимальный объем дисковой памяти, которая может быть использована для предварительных вычислений агрегаций. Чем больше объем, тем большее количество предварительно вычисленных агрегаций может быть создано;
♦ Performance gain reaches ... % задает увеличение производительности, которую вы хотите достигнуть. Чем выше процент предварительно вычисленных агрегаций, тем лучше производительность;
♦ I click Stop позволяет именно вам решить, когда остановить процесс проектирования (когда вы щелкнете по кнопке Stop);
♦ Do not design aggregation (0%) указывает, что не должны создаваться никакие предварительно вычисленные агрегации.
После того как вы щелкнете по кнопке Start и по кнопке Next, появится страница Completing the Wizard. На этой странице вы можете выбрать, начнется ли процесс агрегации немедленно (Deploy and process now) или позже (Save the aggregations but do not process them).
Окно Process Progress показывает прогресс выполнения обработки куба (рис. 23.8).