Я все еще изучаю веревки OLAP, кубов и SSAS, но я достигаю барьера производительности и не уверена, что понимаю, что происходит.
Итак, у меня есть простой куб, который определяет два простых измерения (тип и область), третью иерархию измерений времени (идет Год-> Квартал-> Месяц-> День-> Час-> 10-минута) и один мера (сумма в поле с именем Count). База данных отслеживает события: когда они происходят, какой тип, где они произошли. Таблица фактов представляет собой предварительно рассчитанную сводку событий для каждого 10-минутного интервала.
Итак, я настроил свой куб и использую браузер для одновременного просмотра всех моих атрибутов: общее количество по областям для каждого типа с течением времени, с детализацией от года до 10-минутного интервала. Отчеты по производительности аналогичны просмотру.
По большей части, это достаточно быстро. Но по мере того, как я углубляюсь в дерево упражнений, просмотр каждого уровня занимает больше времени. Наконец, на минутном уровне, кажется, требуется около 20 минут, чтобы отобразить всего 6 записей. Но потом я понял, что могу без труда ждать увидеть другие детализации на минутном уровне, поэтому кажется, что куб вычисляет всю таблицу в этой точке, поэтому это занимает так много времени.
Я не понимаю. Я ожидаю, что переход на кварталы или годы займет больше всего времени, поскольку он должен объединять все данные. Переход к самому низкому показателю, сильно отфильтрованному до 180 ячеек (6 интервалов, 10 типов, 3 области), кажется, что он должен быть самым быстрым. Почему куб обрабатывает весь набор данных, а не только видимое подмножество? Почему самый высокий уровень агрегации такой быстрый, а самый низкий уровень такой медленный?
Самое главное, что я могу сделать с помощью конфигурации или дизайна, чтобы улучшить его?
Некоторые дополнительные детали, о которых я только что подумал, могут иметь значение: Это SSAS 2005, работающий на SQL Server 2005 и использующий Visual Studio 2005 для проектирования BI. Куб установлен (как по умолчанию) на полную MOLAP, но не разделен. Таблица фактов имеет 1 838 304 строки, так что это не сумасшедшая корпоративная база данных, но и не простая тестовая база данных. Нет разделения, и все компоненты SQL работают на одном сервере, к которому я получаю удаленный доступ со своей рабочей станции.