Классика баз данных - статьи

       

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


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


Рис. 1. Схема анализа продаж



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

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

Например, таблица фактов Продажи должна содержать поля Cusomerfact ID (Идентификатор заказчика), Salesperson ID (Идентификатор продавца), Product ID (Идентификатор продукта), Quantity Sold (Проданное количество), Discount (Скидка), Total Amount (Полный объем продаж) и т.п.

В схеме "звезда" таблицы фактов окружены вспомогательными таблицами измерений, благодаря чему пользователь может быстро углубляться в данные (drill down) для выявления корреляций между измерениями и элементами в таблицах фактов. На рисунке 2 показаны таблицы фактов и измерений для витрины данных продаж.


Рис. 2. Таблицы фактов и измерений



Формирование запросов состоит из набора простых однонаправленных объединений (таблицы фактов и каждого из измерений).



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