Опубликован: 20.12.2010 | Уровень: специалист | Доступ: платный
Лекция 19:

Проектирование кубов данных

Генерация куба данных

Кубы данных в OLAP-хранилище данных должны наполняться данными из ХД, киосков данных или БД оперативных систем организации (источники данных). Мы должны, как говорят, заполнить (populate) куб данных.

На многомерной диаграмме каждый куб данных связан с запросом. Для каждого куба существует одно отображение на один источник данных. Запрос, определенный на кубе, используется для извлечения данных из источника и затем сохранения их в кубе OLAP-хранилища. Такая связь между источником данных и кубом данных называется отображением реляционной схемы в многомерную.

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

Пусть для нашего примера источником данных является киоск данных со схемой, приведенной на рис. 26.26.

Схема источника данных для куба данных

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

Для построения отображения в PowerDesigner имеется редактор отображения (Mapping Editor), который вызывается из пункта меню Tools->Mapping Editor.

Определим имя источника данных как DataSource_1 и привяжем его к схеме, рис. 26.26, выполнив действия, предписываемые PowerDesigner. Далее установим связи между полями таблиц фактов и измерений источника и метриками, атрибутами куба данных и измерений многомерной диаграммы, как показано на рис. 26.27.

Построение отображения источника данных на куб данных

увеличить изображение
Рис. 26.27. Построение отображения источника данных на куб данных

После выполнения описанных выше действий в диалоговом окне свойств куба данных "Продажи" ( Sale ) на вкладке Queries можно посмотреть запрос, который будет использован для извлечения данных из источника для помещения их в куб:

select
      Customer.CustID "Cust_ID",
      Customer.Cust_name "Cust_Name",
      Customer.Cust_addr "Cust_Address",
      Region.Country "Country",
      Region.City "City",
      Region.Addr "Address",
      Store.Size "Size",
      Store.Discount "Discount",
      Product.Type "Type",
      Product.Cftegory "Category",
      Sale.Total "Total",
      Sale.Subtotal "Subtotal",
      Sale.Weekly "Weekly"
from  Customer,
      Region,
      Store,
      Product,
      Sale
where Sale.RegionID = Region.RegionID and 
      Sale.CustID = Customer.CustID and 
      Sale.StoreID = Store.StoreID and 
      Sale.ProductID = Product.ProductID

Также в диалоговом окне свойств куба данных "Продажи" ( Sale ) на вкладке Preview можно посмотреть скрипт, который будет использован для создания куба данных:

CREATE CUBE Sale
(
   DIMENSION Customer,
         LEVEL Cust_ID TYPE Regular,
         LEVEL Cust_Name TYPE Regular,
         LEVEL Cust_Address TYPE Regular,
   DIMENSION Region,
         LEVEL Country TYPE Regular,
         LEVEL City TYPE Regular,
         LEVEL Address TYPE Regular,
   DIMENSION Store,
         LEVEL Size TYPE Regular,
         LEVEL Discount TYPE Regular,
   DIMENSION Product,
         LEVEL Type TYPE Regular,
         LEVEL Category TYPE Regular,
   MEASURE Total,
   MEASURE Subtotal,
   MEASURE Weekly
)

Существует более простой способ создания многомерной диаграммы, используя диаграмму физической модели данных с помощью функции Rebuild Cubes, которая вызывается из пункта меню Tools->Multidimesion->Rebuild Cubes ( рис. 26.28).

Построенный куб данных показан на рис. 26.28. Как видно из рисунка, построенный куб данных отличается от построенного нами в учебном примере. В этом случае мы не применяли напрямую редактор отображений, поэтому все поля исходной схемы присутствуют на многомерной диаграмме.

Построение куб данных по физической схеме источника данных

Рис. 26.28. Построение куб данных по физической схеме источника данных

Заметим, что в этом примере запрос:

select
      Store.StoreID "StoreID",
      Store.Name "Name",
      Store.Size "Size",
      Store.Discount "Discount",
      Customer.CustID "CustID",
      Customer.Cust_name "Cust_name",
      Customer.Cust_addr "Cust_addr",
      Region.RegionID "RegionID",
      Region.Country "Country",
      Region.City "City",
      Region.Addr "Addr",
      Product.ProductID "ProductID",
      Product.Type "Type",
      Product.Cftegory "Cftegory",
      Product.Price "Price",
      Sale.SaleID "SaleID",
      Sale.Total "Total",
      Sale.Subtotal "Subtotal",
      Sale.Weekly "Weekly"
from  Store,
      Customer,
      Region,
      Product,
      Sale
where Sale.RegionID = Region.RegionID and 
      Sale.CustID = Customer.CustID and 
      Sale.StoreID = Store.StoreID and 
      Sale.ProductID = Product.ProductID

также имеет отличия от построенного нами ранее. Отличается и команда построения куба данных:

CREATE CUBE Sale
(
   DIMENSION Store,
         LEVEL StoreID TYPE Regular,
   DIMENSION Customer,
         LEVEL CustID TYPE Regular,
   DIMENSION Region,
         LEVEL RegionID TYPE Regular,
   DIMENSION Product,
         LEVEL ProductID TYPE Regular,
   MEASURE SaleID,
   MEASURE Total,
   MEASURE Subtotal,
   MEASURE Weekly
).

В заключение следует отметить, что построение многомерной диаграммы носило иллюстративный характер — был пропущен ряд действий, которые сделали бы диаграмму работоспособной. Нашей целью было показать методику построения многомерной диаграммы и описать основные элементы многомерной диаграммы.

Резюме

В данной работе мы ознакомились с основами OLAP. Мы узнали следующее.

  • Назначение ХД — предоставление пользователям информации для статистического анализа и принятия управленческих решений.
  • ХД должны обеспечивать высокую скорость получения данных, возможность получения и сравнения так называемых срезов данных, а также обеспечивать непротиворечивость, полноту и достоверность данных.
  • OLAP (On-Line Analytical Processing) является ключевым компонентом построения и применения хранилищ данных. Эта технология основана на построении многомерных наборов данных — OLAP-кубов, оси которых содержат параметры, а ячейки — зависящие от них агрегатные данные.
  • Приложения с OLAP-функциональностью должны предоставлять пользователю результаты анализа за приемлемое время, осуществлять логический и статистический анализ, поддерживать многопользовательский доступ к данным, осуществлять многомерное концептуальное представление данных и иметь возможность обращаться к любой нужной информации.

Кроме этого, мы рассмотрели основные принципы логической организации OLAP-кубов, узнали основные термины и понятия, применяемые при многомерном анализе. И наконец, мы выяснили, что представляют собой различные типы иерархий в измерениях OLAP-кубов.

Были рассмотрены методика построения многомерной диаграммы в CASE-инструменте PowerDesigner и ее основные элементы: куб данных, измерение, ассоциация, иерархия, факт, метрики, атрибуты.

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?

 

Денис Сафронов
Денис Сафронов
Россия
жылдыз насырбекова
жылдыз насырбекова
Киргизия, бишкек