1. Что такое витрина данных
Витрина данных (data mart), или магазин данных, — это
подмножество внутри хранилища данных (data warehouse, ХД). Она
поддерживает требования отдельного подразделения, группы сотрудников или
конкретной задачи компании.
2. Зачем нужна витрина
Сотрудники одного отдела часто анализируют одни и те же данные и
формируют похожие запросы. Если заранее известно, что нужно
пользователю, можно выделить ему небольшой фрагмент данных. Тогда он
обращается не ко всему хранилищу, а к своей витрине. В ней уже есть
нужный уровень агрегации (aggregation) — суммирования и обобщения
данных. Объём меньше, потому что пользователю нужна только часть,
соответствующая его зоне ответственности.
3. Отличия витрины от хранилища
Сравнение витрины данных и хранилища данных
| Критерий |
Витрина данных |
Хранилище данных |
| Охват |
Одно подразделение или группа |
Вся организация |
| Детализация |
Обычно без сверхдетальных оперативных данных |
Может хранить подробные сведения |
| Объём |
Меньше |
Больше |
| Структура |
Проще и управляемее |
Сложнее |
| Стоимость |
Обычно ниже |
Выше |
| Пользователи |
Чётко определённый круг |
Широкий круг |
4. Причины создания витрины
- Доступ к часто анализируемым данным.
- Представление данных в форме, привычной для группы пользователей.
- Сокращение времени ответа на запрос.
- Структурирование данных с учётом прав доступа группы.
- Упрощение очистки, загрузки, преобразования и интеграции.
- Снижение стоимости по сравнению с ХД.
- Более простая поддержка определённого круга пользователей.
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. Какие задачи администрирования появляются при добавлении витрины?