Главная » Microsoft SQL Server, Базы данных » Создание базы данных – ЧАСТЬ 5

0

Хорошая организация измерений является ключом к успеху интерактивных приложений, поскольку большинство пользователей может просто накрыть с головой волна доступных атрибутов. Исключение неиспользуемых атрибутов не только поможет упростить просмотр пользователем данных, но и значительно повысит производительность. Особенно это касается кубов с фактическими вычислениями, поскольку, чем больше атрибутов, тем большее число ячеек должно рассматривать каждое вычисление.

Список проверки установок

После создания основного измерения с помощью мастера кубов или мастера измерений выполните предложенные в следующем списке первоочередные проверки. Такой уровень внимания адекватен важности обстоятельств.

?               Убедитесь, что имена атрибутов понятны и недвусмысленны в контексте всех измерений модели. Если возникнет потребность внести изменения, измените имена в представлении источника данных и регенерируйте измерение, чтобы сохранить целостность в масштабах модели. В качестве альтернативы можете изменить имена атрибутов и уровни пользовательских иерархий напрямую.

?               Пересмотрите все пользовательские иерархии, созданные мастером, и при необходимости скорректируйте уровни. Добавьте отсутствующие иерархии. Замените имена, присвоенные по умолчанию, смысловыми альтернативами.

?               Удалите ненужные атрибуты и скорректируйте область их видимости.

?               Скорректируйте взаимосвязь атрибутов, чтобы она соответствовала данным, содержащимся в них.

?               Пересмотрите все источники атрибутов (параметры KeyColumns и NameColumn) и упорядочение. Для просмотра результатов почаще используйте представление браузера.

?               Организуйте измерения с массой иерархий в папки.

Изменение данных в измерениях

Правильная обработка изменений в данных измерений может представлять собой достаточно сложную задачу, и здесь немаловажную роль играет отношение компании к отслеживанию исторических данных. Например, если сотрудник изменил фамилию, важно ли знать предыдущее и настоящее значения соответствующего атрибута? А как поступать с изменившимся адресом клиента? А с изменением кредитной ставки?

Служба анализа самоотверженно отражает изменения, внесенные в данные таблиц измерений при обработке измерения. Она не имеет возможности самостоятельно отслеживать ис-

торию изменений измерений — все должно выполняться на уровне исходных таблиц. Для отслеживания истории таблиц измерений обычно используют четыре стандартных сценария.

?               Slowly Changing Dimension Type 1. История не отслеживается, поэтому изменения применяются к измерению, распространяясь на весь временной диапазон. Например, когда кредитный рейтинг клиента падает с хорошего до плохого, нет никакой возможности узнать, когда это изменение произошло и, вообще, имел ли клиент когда-либо иной рейтинг. В этом режиме отслеживания сложно объяснить, почему в прошлом квартале товар отпускался клиенту без предоплаты. В то же время этого простого подхода вполне достаточно для многих измерений. При реализации базы данных службы анализа на данных OLTP, а не хранилища данных, это единственно возможный вариант, поскольку базы данных OLTP редко отслеживают исторические сведения.

?               Slowly Changing Dimension Type 2. Каждое изменение в данных источника отслеживается как история с помощью дополнительных строк в таблице измерения. Например, когда имя заказчика впервые появляется в таблице OLTP, в таблицу измерения для него вводится строка и соответствующие строки фактов связываются с ней. Позже, когда информация о клиенте изменяется в исходной таблице, существующая строка данного клиента в таблице измерения помечается как устаревшая; при этом создается новая строка с новыми данными атрибутов. С этой новой строкой будут ассоциированы все последующие строки таблицы фактов, имеющие отношение к данному клиенту.

?               Slowly Changing Dimension Type 3. Комбинирует концепции первых двух типов. Отслеживается история некоторых, но не всех изменений, основанная на заданных правилах бизнес-логики. Например, повышение должности сотрудника в пределах одного подразделения может расцениваться как изменение типа 1 (только обновление), а его перевод в другое подразделение — как тип 2 (вставка новой строки измерения).

?               Rapidly Changimg Dimension. Может случиться так, что какой-то атрибут (или их группа) изменяется настолько часто, что второму подходу приходится генерировать в таблице измерения слишком много строк. Такие атрибуты часто связаны с состоянием и приоритетами. Данный подход предполагает вывод стремительно изменяющегося атрибута в отдельное измерение, напрямую связанное с таблицей фактов. Таким образом, вместо отслеживания изменений в дополнительных строках таблицы измерения таблица фактов в каждой строке будет содержать соответствующее состояние или приоритет.

Несмотря на то что управление изменениями измерений должно осуществляться на уровне хранилища данных, мастер измерений может помочь в создании измерения, поддерживающего функциональность типа 2. Создайте измерение без использования источника данных, а затем определите, что оно будет изменяющимся. После этого мастер займется конфигурацией столбцов, которые будут использованы при поддержке исторических данных.

?               Первичный ключ конфигурируется как столбец идентичности (иногда называемый суррогатным ключом). Он будет использоваться для обратной связи с таблицей фактов.

?               Столбец Original_ID, иногда называемый альтернативным ключом, обычно является первичным ключом источника данных. Например, это может быть табельный номер сотрудника или идентификатор клиента в исходной таблице OLTP.

?               Столбец Start_Date указывает на дату начала действия строки измерения.

?               Столбец End_Date указывает на дату конца действия строки измерения.

?               Столбец State указывает на активное или неактивное состояние строки.

Сгенерированная мастером схема предполагает, что дата конца действия текущей строки устанавливается в 31 декабря 9999 года, так что столбец состояния, сформированный как вычисляемый, программируется следующим образом: case when [Customer_SCD_End_Date]=’12/31/9999′ then ‘Active’ else ‘Inactive1 end

После того как измерение будет сконфигурировано мастером, добавьте в него дополнительные необходимые атрибуты, а затем щелкните на ссылке панели Data Source View измерения для генерации соответствующей схемы.

За пределами обычных измерений

Концепция измерения, описываемая до сих пор, касалась в основном общей функциональности, характерной для большинства типов измерений. В то же время не было дано объяснений самому понятию “тип измерения”. Некоторые первоисточники подразделяют измерения на два типа: стандартные и раскрытия данных. Эти общие типы вобрали в себя все остальные. Каждое измерение имеет параметр типа, которому назначаются такие значения как Time, Geography, Customer, Accounts или Regular, которые соответствуют тому, что не содержится в списке. Прочие характеристики измерения, такие как структура отношений родительских и дочерних объектов, разрешение записи или ссылок на измерение из других баз данных, также можно рассматривать как определители различных типов измерений.

Сразу отметим, что в настоящей главе мы ограничимся рассмотрением только стандартных измерений и будем рассматривать понятие “тип” только в контексте свойств измерения. В то же время, читая другие первоисточники, важно понимать, насколько всеобъемлющим является понятие типа измерения.

Временное измерение

Практически каждый куб нуждается во временном измерении, однако в большинстве экс- пуатируемых кубов это измерение реализовано из рук вон плохо. К счастью, мастер измерений автоматически создает временное измерение и соответствующую ему таблицу, а также заполняет эту таблицу данными. Щелкните правой кнопкой мыши на папке измерения на панели Solution Explorer и выберите в контекстном меню пункт New Dimension. На страницах открывшегося мастера следует выполнить следующие действия.

?               Select Build Method. На этой странице выберите метод построения Build the dimension without using a data source, установите флажок Use a Dimension Template и выберите Time из списка шаблонов.

?               Define Time Periods. Выберите диапазон дат и периоды, которые должны использоваться в измерении.

?               Select Categories. В дополнение к стандартному календарю выберите и сконфигурируйте другие календари, которые должны быть внедрены в измерение.

?               Completing the Wizard. При необходимости измените имя измерения, при этом не устанавливайте флажок Generate schema now.

Проанализируйте созданную мастером структуру измерения. Обратите внимание на то, что для параметра измерения Туре установлено значение Time и все атрибуты также имеют соответствующий временной тип: дни, месяцы, кварталы и т.п. Выполните описанные в предыдущем разделе необходимые проверки и подстройки измерения, корректируя их по мере необходимости. Параметры KeyColumns и NameColumn в данном случае не требуют пристального внимания, в то же время имена, присвоенные элементам иерархий, следует адаптировать для целевой аудитории. Взаимосвязи атрибутов также потребуют настройки. После выполнения всех настроек щелкните на ссылке на панели Data Source View, чтобы создать таблицу временного измерения, задав для нее подходящее имя и место размещения.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии