Highload персонализации в X5 для 70М клиентов
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
Массовое промо — маркетинг отправляет 10 млн SMS. Половина игнорирует — им предлагают шоколад, который не покупают. Другая покупает, но мы не знаем, сработала ли рассылка. Деньги слиты, метрики врут.
X5 столкнулась с этой проблемой на масштабе 70+ млн активных клиентов. Переход от массовых рассылок к персонализации — архитектурный вызов: как выбрать релевантные офферы, когда на каждого клиента 200+ признаков, данные обновляются постоянно, а системы принадлежат разным командам?
Мы построили многослойную архитектуру для пиковых нагрузок в Black Friday:
• Hadoop/Spark для параллельного расчета 200+ признаков с историческими окнами
• Redis как точка синхронизации между аналитикой, DS и разработкой — не кэш, а архитектурное решение
• On-demand сегментация: маркетинг использует параметризованные SQL-правила в реальном времени
• Стратификация для корректного Test&Learn — без неё метрики тестов врут
Система работает в продакшене: рост метрик на A/B-тестах, награда Retail Week Awards за лучший опыт клиента.
Что заберете с собой:
1. Готовые Spark-паттерны для параллельного расчета с ускорением в 2 раза (Fair mode, join-стратегии)
2. Архитектура Redis для синхронизации витрин + методы сжатия value для тяжелых данных
3. SQL-подходы к сегментации в AnalyticsDB с кэшированием (<70% запросов до БД)
4. Решение проблем репликации из PostgreSQL в Hive (дельты вместо full load)
5. Реальные ошибки: почему прямая загрузка в БД убивает гибкость, как избежать проблем с ресурсами в Spark
Data Engineer с более чем 10-летним опытом разработки и развития data-платформ в телекоме и ритейле. Работал с большими объёмами данных в государственных структурах и коммерческих компаниях, участвовал в создании высоконагруженных аналитических и продуктовых систем