Хранилище на основе архитектуры Инмона построено в соответствии с реляционной моделью данных. Основные особенности реляционной модели были рассмотрены в главе 11 (см. раздел 11.2). Там мы, говоря о связях между сущностями и об атрибутах сущностей, выделили такие понятия, как первичный и внешний ключ. Прежде чем продолжить обсуждение особенностей корпоративной информационной фабрики, остановимся на понятии нормализации.
* Intersoft Lab. Основные подходы к архитектуре Хранилищ данных. Intersoft Lab: Журнал ВРМ World. 2005. – URL: https://iso.ru/ru/press-center/journal/2056.phtml.
Нормализация (normalization) заключается в применении к модели данных наборов правил, позволяющих упорядочить необходимые для поддержки деятельности организации сведения в стабильные структуры. Главная цель нормализации – сделать так, чтобы каждый атрибут содержался строго в одном месте во избежание избыточности и возможной противоречивости данных.
Правила нормализации разделяют и организуют атрибуты в соответствии с первичными и внешними ключами. Правила последовательно распределяются по уровням, и на каждом следующем уровне повышается степень детализации и добавляются новые требования по учету специфики сущностей при подборе корректных первичных и внешних ключей. Каждому уровню соответствует отдельная так называемая нормальная форма (normal form, NF). Всего выделяют пять нормальных форм (они обозначаются номерами в соответствии с уровнем), но на практике, как правило, достаточно третьей (3NF). Под нормализованной моделью обычно понимают данные, приведенные в форму 3NF[458].
На рисунке 14.1 представлена укрупненная архитектура корпоративной информационной фабрики.
Подготовка данных начинается со скоординированного извлечения их из источников. После этого осуществляется загрузка реляционной базы данных, которая в итоге содержит детализированные (атомарные) данные в третьей нормальной форме. Наполненное нормализованное хранилище используется для того, чтобы снабжать информацией дополнительные репозитории презентационных данных (данных, подготовленных для анализа). Эти репозитории, в частности, включают специализированные хранилища для изучения и извлечения информации (data mining), а также витрины данных.
С целью представления создаются отдельные витрины агрегированных данных, предназначенные для обслуживания бизнес-подразделений или для реализации бизнес-функций. Для структурирования данных в них используется многомерная модель (о ней мы поговорим в следующем разделе). Детализированные данные при этом остаются доступными, что обеспечивается с помощью нормализованного хранилища. Таким образом, структура детализированных и агрегированных данных при такой архитектуре существенно различается.
Подводя итог вышесказанному, можно выделить следующие отличительные характеристики архитектурного подхода Инмона[459].
● Использование реляционной модели организации детализированных данных и многомерной – для организации агрегированных данных.
● Использование итеративного подхода при создании больших хранилищ данных, построение хранилища не сразу, а по частям. Это позволяет при необходимости вносить изменения в небольшие блоки данных или программных кодов и избавляет от необходимости реструктурировать значительные объемы данных или осуществлять сложное перепрограммирование. То же можно сказать и о потенциальных ошибках: они также будут локализованы в пределах сравнительно небольшого массива данных без риска испортить все хранилище.
● Использование третьей нормальной формы для организации детализированных данных обеспечит высокую степень детализации интегрированных данных и предоставит организации широкие возможности для манипулирования, изменения формата и способа представления данных по мере необходимости.
● Хранилище данных – это проект корпоративного масштаба, охватывающий все подразделения и обслуживающий нужды всех пользователей корпорации.
● Хранилище данных – это не механическая коллекция витрин данных, а физически целостный объект.
14.1.5. Многомерное хранилище данных (архитектура Кимбалла)
Архитектурный подход к представлению хранилища данных Кимбалла основан на многомерной структурной модели данных. Кимбалл определяет хранилище как копию транзакционных данных, особым образом структурированную для обработки запросов и анализа. «Копия» в данном контексте не означает точной копии оригинала. При переносе в хранилище данные подвергаются реструктуризации для обеспечения соответствия схеме многомерной модели, которая специально проектируется таким образом, чтобы сделать данные предельно понятными и полезными для потребителей, но при этом сохранить и достаточный для обработки запросов уровень формализации. Важнейшее отличие многомерных схем хранения данных от традиционных реляционных – отказ от нормализации[460],[461].