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