Хранилища данных (Data Warehouse)
Практически во всех информационных системах для хранения данных используются высоконадежные реляционные базы данных.
Это очень сложные системы таблиц связанных по ключевым полям. Так, даже самые простейшие базы данных содержат более десятка таблиц, крупные же базы данных содержат сотни и тысячи связанных таблиц. Данные о каком либо предмете могут быть разбросаны по сотням таблиц, наименование же этого предмета (как и любого другого его параметра) хранится только в одной таблице.
Такое построение обеспечивает высокую надежность и непротиворечивость базы данных –для изменения наименования предмета требуется поменять лишь одно поле в базе данных.
Но это построение приводит и к серьезным трудностям при извлечении данных из базы. Даже простейшие запросы требуют обращений ко многим таблицам, причем вложенных обращений: в одной таблице выбираем индексы (ключи), а для каждого индекса ищем данные уже в другой таблице. Причем таких вложений может быть несколько, и объем вычислений растет в геометрической прогрессии.
Это приводит и к большим затратам ресурсов и времени при обращении к базе данных, и к существенному ограничению в возможностях представления извлекаемых данных.
Естественный выход –создание в базе данных специальных таблиц, данные в которых были бы максимально приближены к пользователю (объединяли бы всю необходимую информацию) и загружались бы из основных реляционных таблиц при их изменении. Или создание второй базы данных - пространственной базы данных допускающей хранение денормализованных, но максимально согласованных с потребителем информации данных.
Таким образом, оптимальное хранилище данных (Data Warehouse) содержит реляционную базу данных, работающую на входе и обеспечивающую высокую надежность и непротиворечивость данных, и пространственную базу данных, содержащую данные, загружаемые из реляционной базы данных, но специально подготовленные и максимально приближенные к запросам пользователей, что обеспечивает максимальную производительность и наилучшую форму выдачи требуемой информации пользователю.
Известны два основных подхода к архитектуре хранилищ данных. Это корпоративная информационная фабрика (Corporate Information Factory) Билла Инмона и Хранилище данных с архитектурой шины (Data Warehouse Bus) Ральфа Кимболла (Ralph Kimball).
Корпоративная информационная фабрика
Этот тип хранилища данных фактически содержит две базы данных: реляционную базу данных (исходных атомарных данных) и пространственную базу данных –базу презентационных данных, т.е. данных, подготовленных для анализа, базу, которая наполняется из реляционной базы данных.
Рис.1. Корпоративная информационная фабрика
Хранилище данных с архитектурой шины
Этот тип хранилища данных включает единую базу данных, как для атомарных данных, так и для презентационных данных. Запросы пользователей к хранилищу могут проводиться к различным уровням детализации данных, как к атомарным, так и к презентационным данным с различными уровнями агрегации.
Рис.2. Хранилище данных с архитектурой шины
Оба подхода используют и хранение атомарных данных, и хранение данных подготовленных для выдачи потребителю и большой принципиальной разницы между ними нет.
10.05.2007
Кроме этой статьи Вы можете посмотреть по тематеке текущего раздела:
2 статьи в разделе "Статьи".