Как стать автором
Обновить

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

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.3K

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

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

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

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

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

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

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

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

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

Недостатки:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Недостатки:

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

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

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

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

Data Vault

Это гибрид между Кимбаллом и 3НФ.

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

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

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

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

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

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

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

Недостатки:

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

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

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

Anchor Modeling

Нацелена на разработку ХД в условиях Big Data. Высокая нормализация данных.

Состоит из:

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

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

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

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

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

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

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

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

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

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

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

Недостатки:

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

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

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

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

Теги:
Хабы:
Всего голосов 8: ↑4 и ↓4+2
Комментарии8

Публикации

Истории

Работа

Data Scientist
62 вакансии

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область