Базы данных - MySQL - статьи

         

Измерения , основанные на атрибутах


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
  • Email
  • City
  • Region
  • Country

Соответствующее измерение Analysis Services должно иметь семь атрибутов:

  • Customer (ключ типа integer, CustomerName в качестве имени)
  • Age, Gender, Email, City, Region, Country

Есть естественная иерархия данных по {Country, Region, City, Customer}. Для более удобной навигации разработчик приложения может решить создать вторую иерархию по {Age, Gender}. Бизнес-пользователи не увидят никакой разницы между двумя иерархиями, но естественная иерархия выигрывает из-за индексной структуры - скрытой от пользователей - которая понимает иерархические связи.

Наиболее важными преимуществами новой структуры измерений являются:

  • Измерения не требуется загружать в память. В результате измерения могут быть очень большими (были протестированы измерения с сотнями миллионов членов).
  • Иерархии атрибутов могут добавляться или удаляться без обработки измерения. Индексная структура иерархии атрибутов небольшая и рассчитывается в фоновом режиме, в то время как куб остается доступным для выполнения запросов.
  • Устраняется дублированная информация в измерениях; измерения становятся меньше.
  • Производительность обработки измерений повысилась, т.к. ядро использует возможности параллелизма при обработке.



Содержание раздела