🔵 Data Warehouse (DWH)
Хранилище данных — информационная система, в которой хранятся данные из разных источников. Используется для анализа, составления отчетов и интеграции данных транзакций
Архитектура ХД
⚪️Нижний уровень — БД. Объединяют данные из источников информации (например, из транзакционных СУБД или SaaS-сервисов)
⚪️Средний — сервисы и приложения. Преобразуют данные в структуру для анализа и сложных запросов. Например, сервер OLAP
⚪️Верхний — инструменты для создания отчетов, визуализации и анализа. Также называют уровнем клиента
Модели ХД
⏺Виртуальное ХД — отдельные БД, которые можно использовать совместно, чтобы получать доступ ко всем данным (как при хранении в одном ХД)
⏺Модель витрины данных — для отчетности и анализа конкретных бизнес-линий.
Хранилища – агрегированные данные из исходных систем, по одной бизнес-сфере
⏺Модель корпоративного ХД — хранение агрегированных данных со всей организации
Схемы ХД
✨Звезда: в центре ХД таблица фактов, которая хранит основные метрики.
Вокруг расположены таблицы измерений с атрибутами.
Простая и быстрая для чтения схема, оптимизирована для производительности запросов
⏩ Пример: в центре — таблица фактов с информацией о продажах (сумма, количество).
Вокруг — таблицы измерений: товары, клиенты, дата, магазины
✨Снежинка: нормализованная версия "Звезды", где таблицы измерений делятся на подтаблицы Экономит место, но усложняет запросы.
⏩Таблица "клиенты" делится на персональные данные, контакты, адреса
✨Anchor Modeling: полная нормализация данных.
В центре — якоря (таблицы с сущностями)
К ним присоединяются атрибуты и связи. Хранятся в отдельных таблицах.
Легко добавлять данные и расширять структуру без изменений существующих таблиц.
Но требует более сложных запросов и тщательного планирования.
⏩В центре — якоря (клиенты и товары)
Атрибуты для якоря "клиенты": имя, дата рождения.
Связи между якорями "клиенты" и "товары": связь покупок
Изменения (обновления адреса клиента), добавляются как новые строки, сохраняя историю изменений
✨Data Vault: гибридный подход, объединивший плюсы схемы «звезды» и 3-ей нормальной формы.
Состоит из:
➖Хаб — таблица с основными данными по бизнес-сфере
➖Ссылка — таблица, которая соединяет и масштабирует систему
➖Спутник — таблица с описанием ключа хаба
⏩ Отдельные хабы для "Клиентов" и "Продуктов".
Ссылки связывают хабы с транзакциями.
Сателлиты хранят изменяющиеся атрибуты (текущий адрес, обновлённые данные о продукте)
Методологии проектирования
📌 Инмон: нисходящий подход.
После процесса ETL создается нормализованная модель ХД. Из нее создаются витрины размерных данных
😉 Представим хранилище в виде библиотечного шкафа с карточками, в котором хранятся данные.
Сначала берутся 10 карточек, выписывается из них важное на листочек и кладется в шкаф.
➡️ например, в страховании сначала формируется общая картинка о застрахованных (доход, возраст, хронические болезни, авариях на дорогах и пр.)
После фильтруются и ложатся в основу модели
📌 Кимбалла: восходящий подход.
Данные после процесса ETL поступают в ХД.
Строится несколько независимых хранилищ для конкретных бизнес-направлений. Затем они объединяются в единое DWH
📑 По аналогии с библиотекой: начинается процесс с нескольких ящиков (витрин данных), а потом решается, что сложить в общий шкаф
➡️ например, для анализа рекламных кампаний нужны только выборочные метрики
Пример работы DWH по шагам
⏺Извлечение данных (ETL) о транзакциях, счетах и клиентах из системы транзакций, бухгалтерских базы или CRM
⏺Трансформация данных: удаление дублей, сопоставление клиентов с транзакциями, расчет суммарных значений (общие расходы или доходы)
⏺Загрузка по схеме "Звезда": загружается основная таблица фактов (транзакции) и связанные с ней таблицы измерений (клиенты, счета)
⏺Данные сохраняются в DWH и структурируются для доступа через OLAP-кубы или напрямую
⏺Бизнес-аналитики / системы BI используют интерфейсы отчетности для получения и анализа данных (отчеты по прибыли и убыткам, оценки рисков)
Подборка материалов в следующем посте👇
#инфраструктура
Post #480
11.1K
- ❤ 13
- 👍 6
- 😁 5
- 🔥 1