Ликбез по методологиям проектирования хранилищ данных

Хранилище данных — это информационная система, в которой хранятся исторические и коммутативные данные из одного или нескольких источников. Он предназначен для анализа, составления отчетов и интеграции данных транзакций из разных источников.

Рассмотрим сильные и слабые стороны самых популярных методологий.

Звезды Кимбалла

Данная методология ориентирована на пользователя. Метод моделирования данных начинается с создания таблиц фактов (показатели) и измерений (атрибуты метрик из фактов).

В архитектуре данные копируются из одной бд в другую, в так называемую область подготовки данных, далее строятся витрины

Достоинства:

  • Хорошая производительность извлечения данных, благодаря особенности строения хранилища

  • Прямой доступ пользователей в хранилище.

  • Простота в использовании

Недостатки:

  • Затруднен процесс расширяемости системы

  • Отсутствие целостного хранилища данных

  • Затруднен процесс обработки изменений в хранилище

Пример подхода Звезды Кимбалла

Пример подхода Звезды Кимбалла

Хранилище данных по Инмону

Нацелена на it-специалистов. Имеет несколько уровней организации данных.

Оперативный уровень — данные из систем обработки транзакций, предназначен для поддержки функционирования организации

Хранилище с атомарными данными — данные приводятся к единообразию из оперативного уровня.

Ведомственный уровень — данные поступают из атомарного уровня, в зависимости от специфики, сильно или слабо агрегированы.

Индивидуальный уровень — временный характер, проверка гипотез.

Достоинства:

  • Целостность данных в витринах

  • Единое хранилище данных

  • Быстрота создания хранилища при помощи итерационного метода

  • Высокая степень детализации данных

  • Централизированное управление организацией

Недостатки:

  • Отсутствие прямого доступа в хранилище данных

  • Сложность использования для обычных пользователей

  • Затраты ресурсов на техническую поддержку

Пример подхода Инмона

Пример подхода Инмона

Data Vault

Составляющие:

  • Хаб — таблица, хранящая основное представление бизнес-сущности с функциональной позиции предметной области. Хаб состоит из уникального и неизменяемого бизнес ключа (guid).

  • Связь — таблица, которая соединяет и масштабирует систему.

  • Спутник — таблица с описанием информацией ключа хаба.

Достоинства:

  • Гибкость и расширяемость.

  • Agile-подход. Новые данные подключают к существующей модели, не ломая и не модифицируя существующую структуру.

Недостатки:

  • Обилие joinов. За счет большего кол-ва операций join запросы могут быть медленнее

  • Избыточность. Создание прослойки перед витринами в разы увеличивает таблицы

Пример Data Vault подхода

Пример Data Vault подхода

Anchor Modeling

Состоит из:

  • Якорь — набор бизнес-ключей

  • Атрибут — дополнительные сведения о якорях.

  • Связь — отношение между якорями

  • Узел — неизменяемый набор значений.

Каждый объект имеет собственную таблицу.

Достоинства:

  • Удобная графическая нотация

  • Гибкое моделирование

  • Возможность многократного использования

  • Простота обновления данных и параллельны доступ

  • Эффективное хранение

Недостатки:

  • Множество соединительных операций

  • Сложность в использовании системы обычными пользователями

Пример Anchor Modelling подхода

Пример Anchor Modelling подхода

Таким образом, каждая из методологий имеет свое направление, особенности, сильные и слабые стороны, при выборе подходящей нужно исходить из потребностей и баланса

© Habrahabr.ru