Проектирование хранилища данных - Разработка объектов Хранилища

Процесс проектирования любого хранилища, как уже было сказано, делится на следующие составляющие:

Выбор бизнеса процесса

Выбор таблицы фактов

Выбор таблицы измерений

Выбор количественных показателей

В части "Интернет хостинг" был описан основной для этой сферы процесс - покупка клиентом услуги. Именно этот процесс лежит в основе хранилища данных.

Элементарным событием этого процесса является непосредственно факт оплаты клиентом услуги (Fact_Billing). Можно было так же взять факт заказа клиентом услуги в качестве элементарного события, но с точки зрения процесса принятия решений факт покупки более интересен.

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

Показателями будут количество услуг, купленных клиентом, стоимость купленных услуг.

В результате проектирования получилась следующая схема хранилища данных:

схема хранилища данных

Рисунок 7. Схема хранилища данных

Данная схема позволяет строить все необходимые отчеты для стратегического принятия решений в сфере интернет хостинга.

Схема построена по принципу "Звезда". В центре схемы находится факт оплаты клиентом услуги. У факта есть собственные поля, которые его характеризуют - количество купленных услуг, общая стоимость в рублях, номер списания и номер оплаты, которые по сути являются дегенеративными измерениями (измерениями без дополнительных полей).

От таблицы факта идут три "луча" - таблицы измерений. Данные измерения похожи на измерения исходной системы и выполняют абсолютно те же функции что и таблицы исходной системы. В измерении пользователя и адреса хранится соответствующая информация о клиентах компании. В измерении типа платежа хранится информация о том, как именно был совершен платеж, например через кредитную карту или через банк. А в таблицах услуг и групп услуг хранится более подробная информация о том, что именно оплатил клиент. Единственное новое измерение - измерение времени.

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

Таблицы System_log, History и Exception являются системными таблицами. Первая необходима для легирования всех ETL операции, стадий их выполнения и результатов этого процесса. Остальные две таблицы так же служат для поддержки ETL процесса и будут описаны в соответствующем разделе работы.

Скрипт для создания структуры хранилища данных находится в приложении к диплому.

Проектирование ETL системы

Похожие статьи




Проектирование хранилища данных - Разработка объектов Хранилища

Предыдущая | Следующая