Введение в OLAP и хранилища данных

Магазины (витрины) данных

В лекции рассматривается витрина данных (data mart) как подмножество хранилища данных, ориентированное на конкретное подразделение или группу пользователей. Объясняются причины её создания: повторяющиеся запросы, нужная агрегация, ограничение доступа и рост скорости. Показаны отличия от глобального хранилища, архитектура, преимущества и проблемы разработки. В завершение обозначены дальнейшие темы: схемы хранения, ETL, отчётность и интеллектуальный анализ данных.

Основные мысли

В результате изучения лекции слушатель будет способен:
1. Определять понятие витрины данных (data mart) и её место в архитектуре хранилища.
2. Объяснять, почему витрина создаётся для отдельного подразделения или группы пользователей.
3. Сравнивать витрину данных и глобальное хранилище данных (data warehouse, ХД) по составу, объёму, структуре и стоимости.
4. Анализировать причины создания витрин: повторяющиеся запросы, агрегацию, разграничение доступа и скорость ответа.
5. Выявлять проблемы разработки витрин: ограничение функциональности, рост размера, загрузку, множественный доступ, администрирование.
6. Оценивать, когда создание витрины оправдано, а когда выгоднее работать с централизованным хранилищем.
Показывать лекцию целиком
Краткое изложение

1. Что такое витрина данных

Витрина данных (data mart), или магазин данных, — это подмножество внутри хранилища данных (data warehouse, ХД). Она поддерживает требования отдельного подразделения, группы сотрудников или конкретной задачи компании.

2. Зачем нужна витрина

Сотрудники одного отдела часто анализируют одни и те же данные и формируют похожие запросы. Если заранее известно, что нужно пользователю, можно выделить ему небольшой фрагмент данных. Тогда он обращается не ко всему хранилищу, а к своей витрине. В ней уже есть нужный уровень агрегации (aggregation) — суммирования и обобщения данных. Объём меньше, потому что пользователю нужна только часть, соответствующая его зоне ответственности.

3. Отличия витрины от хранилища

Сравнение витрины данных и хранилища данных
Критерий Витрина данных Хранилище данных
Охват Одно подразделение или группа Вся организация
Детализация Обычно без сверхдетальных оперативных данных Может хранить подробные сведения
Объём Меньше Больше
Структура Проще и управляемее Сложнее
Стоимость Обычно ниже Выше
Пользователи Чётко определённый круг Широкий круг

4. Причины создания витрины

  1. Доступ к часто анализируемым данным.
  2. Представление данных в форме, привычной для группы пользователей.
  3. Сокращение времени ответа на запрос.
  4. Структурирование данных с учётом прав доступа группы.
  5. Упрощение очистки, загрузки, преобразования и интеграции.
  6. Снижение стоимости по сравнению с ХД.
  7. Более простая поддержка определённого круга пользователей.

5. Архитектура

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

6. Проблемы разработки

7. Что дальше

Далее рассматривается физическое хранение информации: реляционная, многомерная и гибридная схемы. Затем — практическая работа с хранилищами на примере SQL Server: написание ETL-процедур (Extract, Transform, Load), формирование отчётов и интеллектуальный анализ данных (data mining).

Краткие итоги

Смысл витрины данных раскрывается через конфликт между универсальностью и специализацией. Централизованное хранилище даёт широкий доступ и единую картину, но платой становится сложность, универсальные структуры и конкуренция запросов. Витрина сужает область данных до задач конкретной группы, поэтому выигрывает в скорости, понятности и управляемости. Однако это выигрыш не абсолютный, а условный: он сохраняется, пока группа, её задачи и объём данных остаются достаточно локальными. Как только витрина начинает покрывать слишком много пользователей или почти весь набор сведений, она теряет главное преимущество — компактность. Тогда расходы на загрузку, хранение и администрирование могут превысить эффект от быстрого доступа. Практическое решение требует оценивать не только техническую скорость, но и организационную цену: какие функции пользователи готовы потерять, насколько стабильны их запросы, совпадают ли права доступа, есть ли пересечения ролей. Важно и управление жизненным циклом: витрина должна развиваться вместе с подразделением, иначе она превращается в ещё один разрозненный источник. Архитектурно витрина не заменяет хранилище, а дополняет его как слой доставки. Она может хранить агрегаты в реляционной или многомерной форме, что влияет на аналитические сценарии. Выбор между этими формами связан с характером вопросов: детальные срезы удобнее в реляционной модели, многомерные срезы — в аналитической. В итоге ценность витрины определяется точностью попадания в потребности группы и дисциплиной поддержки. Если эти условия выполнены, организация получает быстрый и понятный инструмент анализа. Если нет — растут дублирование, стоимость и сложность. Поэтому создание витрины — управленческое и архитектурное решение, а не только техническая задача.

Витрина данных (data mart), или магазин данных, — это подмножество хранилища данных (data warehouse, ХД). Она поддерживает требования отдельного подразделения, группы сотрудников или конкретной задачи.

Назначение

Сотрудники одного отдела часто используют одни и те же данные и похожие запросы. Если заранее известно, что нужно пользователю, можно выделить ему небольшой фрагмент данных. Тогда запрос идёт не в глобальное хранилище, а в витрину. В ней уже есть нужный уровень агрегации (aggregation), а объём меньше, потому что данные соответствуют зоне ответственности группы.

Отличия от хранилища

Витрина отвечает требованиям одного подразделения. Обычно она не содержит подробных оперативных сведений. В ней меньше информации, поэтому структура проще и управляемее. Стоимость реализации ниже. Круг пользователей чётче определён. Целевые группы работают напрямую с витриной, а сотрудники вне таких групп продолжают работать с хранилищем.

Причины создания

Архитектура

Внутри витрины хранятся агрегированные данные. Они могут быть в реляционной (relational) или многомерной (multidimensional) форме. Возможна и гибридная схема. Позже рассматриваются физические схемы хранения, работа с SQL Server, ETL-процедуры (Extract, Transform, Load), отчёты и интеллектуальный анализ данных (data mining).

Проблемы разработки

Главный критерий

Витрина оправдана, пока группа и её задачи достаточно локальны, а объём данных не приближается к хранилищу. Иначе выгода теряется.

Выводы

1. Витрина данных — подмножество хранилища, ориентированное на конкретную группу пользователей.
2. Основная цель — ускорить анализ повторяющихся запросов за счёт заранее подготовленных данных.
3. Витрина обычно не хранит сверхдетальные оперативные сведения.
4. Меньший объём упрощает структуру, загрузку, преобразование и администрирование.
5. Витрина может снизить стоимость и время ответа по сравнению с глобальным хранилищем.
6. Данные в витрине могут храниться в реляционной или многомерной форме.
7. Пользователи, не входящие в целевые группы, продолжают работать с хранилищем.
8. Ограничение функциональности — плата за простоту и быстродействие витрины.
9. При росте объёма витрина может стать сопоставимой с хранилищем и потерять выгоду.
10. Множественный доступ, загрузка и администрирование создают дополнительные сложности.
11. Создание витрины оправдано, когда группа и её задачи достаточно локальны и стабильны.
12. Дальнейшее изучение связано со схемами хранения, ETL, отчётами и data mining.

Вопросы для самопроверки

1. Что такое витрина данных и чем она отличается от хранилища?
2. Для каких пользователей создаётся витрина?
3. Почему повторяющиеся запросы являются аргументом за создание витрины?
4. Какие данные обычно не хранятся в витрине?
5. Почему структура витрины проще, чем у хранилища?
6. Какие преимущества даёт заранее заданная форма представления данных?
7. Как витрина помогает разграничивать доступ?
8. Какие компоненты могут находиться внутри витрины?
9. В каких формах могут храниться агрегированные данные?
10. В чём проблема ограничения функциональности витрины?
11. Когда витрина может стать невыгодной из-за размера?
12. Какие задачи администрирования появляются при добавлении витрины?
Вернуться к учебному плану