Ликбез по методологиям проектирования хранилищ данных
Хранилище данных — это информационная система, в которой хранятся исторические и коммутативные данные из одного или нескольких источников. Он предназначен для анализа, составления отчетов и интеграции данных транзакций из разных источников.
Рассмотрим сильные и слабые стороны самых популярных методологий.
Звезды Кимбалла
Данная методология ориентирована на пользователя. Метод моделирования данных начинается с создания таблиц фактов(показатели) и измерений(атрибуты метрик из фактов).
В архитектуре данные копируются из одной бд в другую, в так называемую область подготовки данных, далее строятся витрины
Достоинства:
- Хорошая производительность извлечения данных, благодаря особенности строения хранилища
- Прямой доступ пользователей в хранилище.
- Простота в использовании
Недостатки:
- Затруднен процесс расширяемости системы
- Отсутствие целостного хранилища данных
- Затруднен процесс обработки изменений в хранилище

Пример подхода Звезды Кимбалла
Хранилище данных по Инмону
Нацелена на it-специалистов. Имеет несколько уровней организации данных.
Оперативный уровень – данные из систем обработки транзакций, предназначен для поддержки функционирования организации
Хранилище с атомарными данными – данные приводятся к единообразию из оперативного уровня.
Ведомственный уровень – данные поступают из атомарного уровня, в зависимости от специфики, сильно или слабо агрегированы.
Индивидуальный уровень – временный характер, проверка гипотез.
Достоинства:
- Целостность данных в витринах
- Единое хранилище данных
- Быстрота создания хранилища при помощи итерационного метода
- Высокая степень детализации данных
- Централизированное управление организацией
Недостатки:
- Отсутствие прямого доступа в хранилище данных
- Сложность использования для обычных пользователей
- Затраты ресурсов на техническую поддержку
Data Vault
Это гибрид между Кимбаллом и 3НФ.
Составляющие:
- Хаб – таблица, хранящая основное представление бизнес-сущности с функциональной позиции предметной области. Хаб состоит из уникального и неизменяемого бизнес ключа(guid).
- Связь – таблица, которая соединяет и масштабирует систему.
- Спутник – таблица с описанием информацией ключа хаба.
Достоинства:
- Гибкость и расширяемость.
- Agile-подход. Новые данные подключают к существующей модели, не ломая и не модифицируя существующую структуру.
Недостатки:
- Обилие joinов. За счет большего кол-ва операций join запросы могут быть медленнее
- Избыточность. Создание прослойки перед витринами в разы увеличивает таблицы
Anchor Modeling
Нацелена на разработку ХД в условиях Big Data. Высокая нормализация данных.
Состоит из:
- Якорь – набор бизнес-ключей
- Атрибут – дополнительные сведения о якорях.
- Связь – отношение между якорями
- Узел – неизменяемый набор значений.
Каждый объект имеет собственную таблицу.
Достоинства:
- Удобная графическая нотация
- Гибкое моделирование
- Возможность многократного использования
- Простота обновления данных и параллельны доступ
- Эффективное хранение
Недостатки:
- Множество соединительных операций
- Сложность в использовании системы обычными пользователями

Пример Anchor Modelling подхода
Таким образом, каждая из методологий имеет свое направление, особенности, сильные и слабые стороны, при выборе подходящей нужно исходить из потребностей и баланса
Автор: @PB_Academy






