Спроектируйте аналитическую платформу для маркетплейса
Вопрос
Маркетплейс: 30 микросервисов на PostgreSQL, события сайта и приложения (1 млрд в сутки), выгрузки от партнёров в CSV. Нужны отчёты для бизнеса к 9 утра, дашборды с задержкой до 15 минут и данные для ML-команды. Спроектируйте платформу данных.
Коротко
Что должно быть в решении
- 1Требования: потребители и SLA (отчёты к 9:00, дашборды 15 минут, ML), объёмы, история, доступы и ПДн
- 2Оценка нагрузки: 1 млрд событий в сутки около 12 тысяч в секунду, объём в Parquet за год, рост
- 3Источники и загрузка: CDC из PostgreSQL, события через Kafka, партнёрские файлы через landing-зону с проверками
- 4Хранение: lakehouse на объектном хранилище (raw, core, marts), табличный формат, каталог
- 5Обработка: батч в Spark или SQL-движке под оркестратором, стриминг для дашбордов, dbt для витрин
- 6Слой отдачи: ClickHouse для дашбордов, доступ ML к lakehouse, BI
- 7Качество и эксплуатация: проверки и контракты, мониторинг свежести, lineage, права и маскирование ПДн, стоимость
Что спросит интервьюер
- Как гарантировать отчёт к 9 утра, если ночная загрузка упала?
- Как обработать удаление пользователя по запросу (право на удаление)?
- Где вы сэкономите больше всего денег?
Разбор
Сильный ответ начинается с потребителей и SLA, а не с технологий. Дальше три входа (CDC, события, файлы) приводятся в сырой слой lakehouse, затем очищенный слой и витрины. Батч под оркестратором для отчётов, стриминг для дашбордов с 15-минутной свежестью, быстрый слой для интерактива. Обязательны проверки качества на входе, мониторинг свежести с алертами до 9 утра, права и маскирование ПДн, учёт стоимости.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.