Хранилище данных

Хранилище данных (Data warehousing) - предметно-ориентированная информационная база данных, строится на базе СУБД и СППР. Данные, поступающие в хранилище данных, как правило, доступны только для чтения. Данные из OLTP-системы копируются в хранилище данных таким образом, чтобы при построении отчётов и OLAP-анализе не использовались ресурсы транзакционной системы и не нарушалась её стабильность.

Принципы организации хранилища

  • Проблемно-предметная ориентация. Данные объединяются в категории и хранятся в соответствии с областями, которые они описывают, а не с приложениями, которые они используют.
  • Интегрированность. Данные объединены так, чтобы они удовлетворяли всем требованиям предприятия в целом, а не единственной функции бизнеса.
  • Некорректируемость. Данные в хранилище данных не создаются: то есть поступают из внешних источников, не корректируются и не удаляются.
  • Зависимость от времени. Данные в хранилище точны и корректны только в том случае, когда они привязаны к некоторому промежутку или моменту времени.

Дизайн хранилищ данных

Существуют два архитектурных направления:

  • нормализованные хранилища данных (таблицы) - данные находятся в предметно ориентированных таблицах 3NF. Для получения какой-либо информации нужно делать выборку из многих таблиц одновременно, что приводит к ухудшению производительности системы. Для решения этой проблемы используются денормализованные таблицы — витрины данных, на основе которых уже выводятся отчетные формы;
  • хранилища с измерениями (куб данных, datacube) - используют схему «звезда» или схему «снежинка». При этом в центре «звезды» находятся данные (таблица фактов), а измерения образуют лучи звезды. Различные таблицы фактов совместно используют таблицы измерений, что значительно облегчает операции объединения данных из нескольких предметных таблиц фактов (пример — факты продаж и поставок товара). Таблицы данных и соответствующие измерения образуют архитектуру «шина». Измерения часто создаются в 3NF, в том числе, для протоколирования изменения в измерениях.

Данные в хранилище данных поступают из разных источников (реляционные БД, системы быстрых транзакций OLTP) после обработки ETL (Extract, Transform, Load). Для анализа данных используется OLAP-куб.

DataWarhouse.png

См. также