Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru |
Поиск по сайту | ||||||
Новости | ||||||
Основы OLAP | ||||||
Продукты | ||||||
Business Objects/ Crystal Decisions | ||||||
Каталог | ||||||
OLAP в жизни | ||||||
Тенденции | ||||||
Download | ||||||
| ||||||
Архитектурные решения и моделирование данных для хранилищ и витрин данныхКонстантин Лисянский, архитектор хранилищ данных линии программных продуктов DiasoftMIS Хранилища данных уже не являются экзотикой в России. Стабилизация экономики ведет к росту конкуренции и повышению важности принятия правильных решений для успешной работы предприятий. Многие компании проводят оценку возможности построения централизованного хранилища данных для создания аналитических приложений, некоторые уже инициировали такие проекты. В силу того, что технологии хранилищ данных являются для России достаточно новыми, литература по данной тематике на русском языке встречается редко. Данная статья, не претендуя на полноту изложения материала, является попыткой восполнить этот пробел. Статья обобщает теоретические знания и практический опыт автора в построении архитектуры и информационных моделей хранилищ и витрин данных. Она описывает особенности моделирования хранилищ и витрин данных по сравнению с моделированием традиционных систем. Делается упор на моделирование времени в хранилищах и витринах данных, описываются общепринятые приемы моделирования. Основные отличия систем поддержки принятия решений от традиционных оперативных системОсновные отличия между традиционными оператив ными информационными системами и системами поддер жки принятия решений (СППР) вытекают из отличий в постановке задач, для решения которых создаются системы — обеспечение ежедневной работы предприятия одной системой, и поддержка принятия решений — другой. На данный момент существует масса публикаций, в которых эти отличия рассматриваются весьма подробно [4, 6, 8]. Такой анализ выходит за рамки данной статьи, по этому мы ограничимся отличиями, влияющими на приемы моделирования тех и других систем. В силу различной природы систем, требуются различ ные приемы моделирования данных. Мы рассмотрим эти приёмы ниже. Однако перед тем как перейти к приёмам, стоит уделить внимание вариантам архитектуры систем поддержки принятия решений. Варианты архитектуры СППРНа сегодняшний день известно несколько способов построения СППР. Большинство из них основано на технологиях хранилищ и витрин данных. Остановимся на некоторых из них. На сегодняшний день можно выделить четыре наибо лее популярных типа архитектур систем поддержки при нятия решений:
Функциональная СППРФункциональная СППР (рис.1) является наиболее простой с архитектурной точки зрения. Такие системы часто встречаются на практике, в особенности в организациях с невысоким уровнем аналитической культуры и недостаточно развитой информационной инфраструктурой. Характерной чертой функциональной СППР является то, что анализ осуществляется с использованием данных из оперативных систем. Преимущества:
СППР с использованием независимых витрин данныхНезависимые витрины данных (рис.2) часто появляются в организации исторически и встречаются в крупных организациях с большим количеством независимых подразделений, зачастую имеющих свои собственные отделы информационных технологий.
Преимущества:
Недостатки:
СППР на основе двухуровнего хранилища данныхДвухуровневое хранилище данных (рис.3) строится централизовано для предоставления информации в рам ках компании. Для поддержки такой архитектуры необхо дима выделенная команда профессионалов в области хра нилищ данных. Это означает, что вся организация должна согласовать все определения и процессы преобразования данных. Преимущества:
Недостатки:
СППР на основе трехуровневого хранилища данныхХранилище данных (рис. 4) представляет собой единый централизованный источник корпоративной информации. Витрины данных представляют подмножества данных из хранилища, организованные для решения задач отдельных подразделений компании. Конечные пользователи имеют возможность доступа к детальным данным хранилища, в случае если данных в витрине недостаточно, а также для получения более полной картины состояния бизнеса. Преимущества:
Недостатки:
Мы рассмотрели основные варианты приведённых выше типов архитектур систем поддержки принятия ре шений. Выбор конкретного варианта зависит от условий, в которые поставлена проектная группа. Нужен ли быстрый возврат от инвестиций, или можно потратить больше времени и построить надежную инфраструктуру? Является ли проектная группа профессиональной или состоит из новичков? Существует ли формализованная методология или механизмы работы еще не отлажены? Ответы на эти и ряд других вопросов могут повлиять на ваш выбор. Подробное описание преимуществ и недостатков каждого варианта архитектуры можно найти в литературе [2, 3]. Моделирование хранилищ данныхВ силу коренных отличий хранилищ данных от опе ративных систем приемы моделирования также отли чаются. Все описанные ниже особенности и приемы модели рования относятся к моделированию для реляционных баз данных. Приемы моделирования для многомерных баздан ных выходят за рамки данной статьи. Особенности моделирования времени в хранилищах данныхТрадиционные подходы основываются исключительно на моделировании статического представления реального мира. При этом если время и принимается в расчет, то только в виде временных отметок создания записей и их модификации. С точки зрения моделирования времени хранилища данных принципиально отличаются от оперативных систем. Модели хранилищ данных интенсивно используют временные отметки. На данный момент известны три основных способа моделирования времени в хранилищах данных. Рассмотрим каждый из них по отдельности. Модель снимков данныхСнимок данных — это представление данных в опре деленный момент времени. Данная модель характерна для оперативных систем (OLTP). Обновления данных носят деструктивный характер, то есть предыдущие значения атрибутов замещаются новыми (рис. 5). Модель имеет достаточно ограниченный круг применения в хранилищах данных, поскольку не обеспечивает хранения истории изменений. Событийная модельСобытийная модель (рис. 6) используется для модели рования данных о наступлении событий в определенные моменты времени. Данная модель хорошо подходит для моделирования транзакций, таких как: продажи, финансовые транзакции, складские операции и т.д.
Статусная модельСтатусная модель используется для моделирования состояния объектов во времени. Она хорошо подходит для представления данных, имеющий нетранзакционный характер. Существует три способа моделирования изменяющих ся во времени статусов:
Статусная и событийная модели являются взаимно дополняющими. Путем преобразований из одной можно получить другую. Например, зная остаток на счете на определенный момент и историю транзакций в событийной модели, можно восстановить все статусы счета (остатки на счете) в периоды между транзакциями. И наоборот, имея статусную модель остатков на счете, можно вычислить события (т.е. транзакции), которые происходили со счетом в начале (конце) каждого периода.
Выбор ключейВыбор ключей для таблиц хранилища данных является непростой задачей. Перед разработчиком модели хранилища встает вопрос: использовать ли в хранилище данных ключи из оперативных систем, и если нет, то — как их сформировать? Рассмотрим варианты решения этой задачи. Использованиеключей из оперативных системДанное решение представляет ся очевидным, однако практика показывает, что это далеко не самое удачное решение. Одна из проблем при использовании ключей из оперативных систем заключается в том, что некоторые приложения повторно используют ключи, что может очень сильно затруднить поддержку хранилища. При большом количестве источников данных есть вероятность совпадения ключей в записях из разных источников. Генерация ключейОдно из решений проблемы выбора ключей для таблиц хранилища данных заключается в генерации новых ключей для записей, загружаемых из систем источников. Существует несколько подходов к генерации ключей:
Вопросы целостности данныхВвиду историчности данных, их целостность в храни лище носит характер, отличный от целостности данных в оперативных системах. Если при построении транзакци онных систем речь идет о целостности транзакций и со блюдении ссылочной целостности, то в хранилищах дан ных кроме этого очень важно обеспечивать историческую целостность данных и соблюдение бизнес-правил, которые могут выражаться механизмами, отличными от ссылочной целостности. Соответственно, ссылочная целостность и непротиворечивость данных в хранилище данных организуется иначе. Как правило, при проектировании хранилищ данных не используются триггеры и встроенные в СУБД механизмы контроля целостности. Они способны очень сильно снизить производительность системы и увеличить окно загрузки (что, как правило, крайне нежелательно). Вместо этого целостность данных контролируется на этапе их загрузки путем выполнения различных проверок. Моделирование витрин данныхПриемы моделирования витрин данных отличаются от приемов моделирования хранилищ данных в силу различных требований к структурам данных. Если основной за дачей хранилища данных является хранение консолидированной исторической информации, то витрина данных строится с учетом требований по доступу к данным и представления информации. Как правило, для моделирования витрин данных используются типы модели под названием: схема "звезда" и схема "снежинка". Остановимся подробнее на каждом из этих типов моделей. Схема "звезда"Схема "звезда" — популярный тип модели данных для витрин данных. Данная модель характеризуется наличием таблицы фактов, окруженной связанными с ней таблицами размерностей. Запросы к такой структуре включают простые объединения таблицы фактов с каждой из таблиц размерностей. Характеризуется высокой производительностью запросов. Проектируется для выполнения аналитических запросов. Характеризуется небольшой избыточностью данных и высокой по сравнению с нормализованными структурами производительностью. Некоторые промышленные СУБД и инструменты класса OLAP/Reporting умеют использовать преимущества схемы "звезда" для сокращения времени выполнения запросов. На рисунке (рис.8) изображен пример схемы "звезда" для анализа остатков на счетах и количества транзакций в разрезе времени, клиентов, счетов, продуктов, отделений, статусов счетов. Данная модель позволяет ответить на широкий спектр аналитических вопросов. Давайте рассмотрим компоненты схемы "звезда". Размерности В технологии многомерного моде лирования размер ность — это аспект, в разрезе которого можно получать, фильтровать, группировать и отображать информацию о фактах. Типичные размерности, встречающиеся практически в любой модели:
Размерности, как правило, имеют многоуровневую иерархическую структуру. Например, размерность ВРЕМЯ может иметь следующую структуру: ГОД КВАРТАЛ МЕСЯЦ ДЕНЬ Факты Факты — это величины, обычно числовые, хранящиеся в таблице фактов и являющиеся предметом анализа. Примеры фактов: объем операций, количество проданных единиц товара и т.д. Факты имеют ряд свойств, на которых мы вкратце остановимся. Более подробное описание фактов и их свойств можно найти в литературе [1, 8, 9]. Аддитивные факты Аддитивность определяет возможность суммирования факта вдоль определенной размерности. Аддитивные факты можно суммировать и группировать вдоль всех размерностей на любых уровнях иерархии. Полуаддитивные факты Полуаддитивный факт — это факт, который можно сум мировать вдоль определённых размерностей, и нельзя — вдоль других. Примером может служить остаток на счете (или остаток товара на складе). Данную величину нельзя суммировать вдоль размерности ВРЕМЯ. Однако сумма остатков по счетам вдоль размерности смысл для анализа. Неаддитивные факты Неаддитивные факты вообще нельзя суммировать. Пример неаддитивного факта — отношение (например, выраженное в процентах).
Специалисты рекомендуют моделировать полуаддитивные факты таким образом, чтобы сделать их более аддитивными. Например, представить процент составляющими его величинами [1]. Таблицы покрытия Таблицы покрытия используются с целью моделиро вания сочетания размерностей, для которых отсутству ют факты. Например, нужно найти количество категорий продуктов, которые сегодня ни разу не продавались. Таб лица фактов продаж не может ответить на данный воп рос, поскольку она регистрирует только факты продаж. Для того чтобы модель позволяла отвечать на подобные вопросы, нужна дополнительная таблица фактов (кото рая, по сути дела, не содержит фактов), которая и назы вается таблицей покрытия. Схема "снежинка"Данная схема (рис.9) используется для нормализации схемы "звезда". Она несколько сокращает избыточность в таблицах размерностей. Одним из достоинств является бо лее быстрое выполнение запросов о структуре размерностей (запросы вида "выбрать все строки из таблицы размерности на определенном уровне"), которые очень часто выполняют ся при анализе данных, и могут задерживать ход анализа. Однако основным достоинством схемы "снежинка" является не экономия дискового пространства, а возможность иметь таблицы фактов с разным уровнем детализации. Например, фактические данные на уровне дня, а плановые — на уровне месяца. Моделирование времени в витринах данныхВитрины данных, как правило, характеризуются нали чием явной размерности ВРЕМЯ. При этом структура данной размерности может меняться в зависимости от моделируемой предметной области и требований, предъявляемых пользователями к представлению времени. Помимо стандартных атрибутов времени, как правило, возникает необходимость моделирования специальных атрибутов времени, таких как:
Моделирование времени в витринах данных — достаточно сложный момент, освещение которого заслуживает отдельной статьи, мы же перейдем к выбору инструментов для моделирования. Критерии, определяющие выбор инструментов для моделированияДля создания и поддержки успешных моделей хранилищ и витрин данных необходимы соответствующие средства моделирования. В настоящее время на рынке присутствует достаточно большое количество поставщиков программных продуктов данного класса. При выборе инструмента для проекта необходимо при нимать в учет ряд требований, которым должны удовлетворять инструменты. Вот некоторые из этих требований:
Проектирование хранилищ и витрин данных — инте ресный и достаточно трудоемкий процесс, требующий использования приемов и методик, отличных от техноло гических принципов, применяемых при проектировании оперативных информационных систем. Данная тема будет продолжена в последующих статьях. Литература1. Adamson, C., Venerable, M., "Data Warehouse Design Solutions". John Wiley & Sons, Inc (1998). ISBN 047125195X. 2. Devlin, B., "Data warehouse: from architecture to implementation". Addison Wesley Longman, Inc. (1997). ISBN 0201964252. 3. IBM, "Business Intelligence Architecture on S/390. Presentation Guide". SG24574700, IBM Corporation (2000). 4. IBM, "Business Intelligence Certification Guide". SG24574700, IBM Corporation(2000). 5. IBM, "Data Modeling Techniques for Data Warehousing". SG24223800, IBM Corporation (1998). 6. Inmon, W., "What is a data warehouse?" White Paper. 7. Kimball, R., "A Dimensional Modeling Manifesto". DBMS Magazine. August 1997. 8. Kimball, R., "The Data Warehouse Toolkit. Practical Techniques for Building Dimensional Data Warehouses". John Wiley & Sons, Inc (1996). ISBN 0471153370. 9. Kimball, R. et al., "The Data Warehouse Lifecycle Toolkit: Expert Methods for Designing, Developing and Deploying Data Warehouses". John Wiley & Sons, Inc (1998). ISBN 0471255475. 10. Silverston, L., Inmon, W., Graziano, K., "The Data Model Resource Book. A Library of Logical Data Models and Data Warehouse Designs". John Wiley & Sons, Inc (1997). ISBN 0471153672. 11. Winsberg, P., "Modeling the Data Warehouse and Data Mart". InfoDB, 10, No 3, 110 12. Hitchhiker’s Guide to Decision Support (http://members.aol.com/fmcguff/dwmodel/) © 2001 Interface Ltd |