Materialized View vs ETL-таблица: trade-offs

medium data_engineering Общие

Условие задания

**Компания:** ВК

**Контекст:** Команда аналитиков попросила витрину с ежедневной статистикой контента (посты, лайки, репосты). Вы выбираете между Materialized View и ETL-таблицей.

**Задание:**
1. Реализуйте оба варианта: MV и ETL-таблицу
2. Составьте таблицу сравнения: производительность, гибкость, мониторинг, SLA
3. Дайте рекомендацию, какой вариант выбрать и почему

Пример данных

Структура для ориентира — реальные значения из эталонного решения.

CREATE TABLE mart_content_daily (
    dt DATE,
    content_type VARCHAR(50),
    posts INT,
    likes INT,
    reposts INT,
    unique_authors INT,
    updated_at TIMESTAMP DEFAULT NOW(),
    PRIMARY KEY (dt, content_type)
);

-- Инкрементальное обновление
DELETE FROM mart_content_daily WHERE dt = CURRENT_DATE - 1;

INSERT INTO mart_content_daily (dt, content_type, posts, likes, reposts, unique_authors)
SELECT
    event_ts::date AS dt,
    content_type,
    COUNT(*) FILTER (WHERE event_type = 'post'),
    COUNT(*) FILTER (WHERE event_type = 'like'),
    COUNT(*) FILTER (WHERE event_type = 'repost'),
    COUNT(DISTINCT user_id)
FROM content_events
WHERE event_ts::date = CURRENT_DATE - 1
GROUP BY event_ts::date, content_type;

Темы

materialized view ETL trade-off производительность

Подсказки

Все тестовые задания →

Частые вопросы

Какой уровень знаний нужен для задачи "Materialized View vs ETL-таблица: trade-offs"?

Это задание для уровня medium. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «data_engineering» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: materialized view, ETL, trade-off, производительность.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «data_engineering»?

На zasqlpython.ru есть другие задания в категории «data_engineering», продуктовые кейсы, справочник метрик, AI мок-собеседование с разбором ваших ответов.

← Все задания