Что такое создание витрины данных (data mart)?

«Что такое создание витрины данных (data mart)?» — вопрос из категории Моделирование данных и DWH, который задают на 33% собеседований Data Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Создание витрины данных — это процесс проектирования и реализации предметно-ориентированного подмножества хранилища данных (DWH), предназначенного для удовлетворения аналитических потребностей конкретного бизнес-подразделения (например, отдела продаж, маркетинга или финансов).

Ключевые аспекты:

  • Предметная ориентация: Витрина фокусируется на одной области (домене), в отличие от охватывающего всё предприятие хранилища.
  • Источники: Данные могут загружаться напрямую из операционных систем (OLTP), но чаще — из центрального хранилища данных (DWH), что обеспечивает согласованность.
  • Модель данных: Обычно используется денормализованная схема «звезда» или «снежинка» для упрощения запросов и повышения скорости отклика.
  • Инструменты: Создание включает ETL/ELT-процессы (например, с помощью Apache Airflow, dbt, SSIS), проектирование схемы и настройку доступа для бизнес-аналитиков.

Практический пример: Для отдела маркетинга создаётся витрина marketing_performance, агрегирующая данные из DWH:

-- Упрощённая таблица фактов для витрины маркетинга
CREATE TABLE fact_campaign_performance (
    date_id INT,
    campaign_id INT,
    channel_id INT,
    impressions BIGINT,
    clicks BIGINT,
    cost DECIMAL(15,2),
    conversions BIGINT
);
-- Таблицы измерений (dim_date, dim_campaign, dim_channel) создаются аналогично.

Цель: Предоставить маркетологам быстрый доступ к ключевым метрикам (CTR, CPC, ROI) без необходимости писать сложные запросы к сырым данным DWH.