Измерения , основанные на атрибутах
Analysis Services 2005 создает куб скорее вокруг атрибутов измерений, чем иерархий измерений. В Analysis Services 2000 измерения создавались в основном на основе иерархий, таких, как {Year, Month, Day} или {Country, Region, City}. Такие иерархии требовали строгих связей между уровнями данных. Атрибуты, которые позиционировались как свойства членов и виртуальные измерения, были вторым сортом. Хотя и была возможность добавлять атрибуты в физические измерения, проблемы с производительностью не давали широко использовать эту технологию. Пользователи, знакомые с реляционными структурами, были озадачены таким большим вниманием к иерархиям в базах данных OLAP.
Структура Analysis Services 2005 больше похожа на реляционную структуру измерений. Измерение содержит множество атрибутов, каждый из которых может быть использован для запросов, возвращающих отфильтрованные данные или срезы, и каждый из которых может быть добавлен в иерархии, вне зависимости от взаимосвязей между данными.
Пользователи с опытом работы в OLAP понимают значение строгих иерархий, когда вы можете быть уверены, что Cities строго относятся к Regions и Countries. Такие естественные иерархии существуют и должны определяться, когда это необходимо: производительность выполнения запросов повышается при использовании таких иерархий.
В качестве примера рассмотрим измерение Customer. Реляционная таблица из источника данных имеет восемь столбцов:
- CustomerKey
- CustomerName
- Age
- Gender
- City
- Region
- Country
Соответствующее измерение Analysis Services должно иметь семь атрибутов:
- Customer (ключ типа integer, CustomerName в качестве имени)
- Age, Gender, Email, City, Region, Country
Есть естественная иерархия данных по {Country, Region, City, Customer}. Для более удобной навигации разработчик приложения может решить создать вторую иерархию по {Age, Gender}. Бизнес-пользователи не увидят никакой разницы между двумя иерархиями, но естественная иерархия выигрывает из-за индексной структуры - скрытой от пользователей - которая понимает иерархические связи.
Наиболее важными преимуществами новой структуры измерений являются:
- Измерения не требуется загружать в память. В результате измерения могут быть очень большими (были протестированы измерения с сотнями миллионов членов).
- Иерархии атрибутов могут добавляться или удаляться без обработки измерения. Индексная структура иерархии атрибутов небольшая и рассчитывается в фоновом режиме, в то время как куб остается доступным для выполнения запросов.
- Устраняется дублированная информация в измерениях; измерения становятся меньше.
- Производительность обработки измерений повысилась, т.к. ядро использует возможности параллелизма при обработке.