Каждый день пользователи совершают миллионы действий в Интернете. Нам в FACETz DMP необходимо структурировать эти данные и проводить сегментацию для выявления предпочтений пользователей.
Хочу рассказать, как мы:
- Сегментируем в реальном времени 600 миллионов пользователей ежедневно;
- Поставляем данные партнерам, DSP, Google с минимальной задержкой;
- Храним статистику по количеству уникальных пользователей в сегменте при потоковой обработке;
- Отслеживаем влияние изменения параметров сегментации;
- Ведем подсчет аффинитивности домена к сегменту для аналитики аудиторий.
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени каждый день. HBase/Kafka на службе DMP"
1.
2. Что такое Facetz DMP
• Data Management Platform • 600 млн пользователей
3. • Data Management Platform • 600 млн пользователей
5.5 млрд / сутки
Что такое Facetz DMP
4. • Прямые установки пикселя
• Поток данных от партнеров
• Оффлайн выгрузки DMP
Механизмы получения данных
5. Ключевые показатели
• Горизонтальная масштабируемость
• Оценка объема аудитории
• Удобство мониторинга и разработки
• Хорошая скорость реакции на события
9. Ключевые показатели
• Горизонтальная масштабируемость
• Оценка объема аудитории
• Удобство мониторинга и разработки
• Хорошая скорость реакции на события
10. Ключевые показатели
• Горизонтальная масштабируемость
• Оценка объема аудитории
• Удобство мониторинга и разработки
• Хорошая скорость реакции на события
11. Ключевые показатели
• Горизонтальная масштабируемость
• Оценка объема аудитории
• Удобство мониторинга и разработки
• Хорошая скорость реакции на события
12. Чего мы хотим?
• Писать данные в HBase сразу
• Реагировать на события мгновенно
• Удобство мониторинга и разработки
14. Начинаем сегментировать сразу
• готовимся к random read
• смена workload
• максимальная плотность
хранения
• увеличиваем нагрузку
Loader
Segmentator
trigger
bulk_load
16. Kafka — прекрасный инструмент
• Topic — набор partition
• Partition — файл(ы)
partition 1
partition 2
partition N
17. • Producers — пишут в конец
• Consumer Group — независимы
partition 1
partition 2
partition N
Producers
• Topic — набор partition
• Partition — файл(ы)
Kafka — прекрасный инструмент
18. • Producers — пишут в конец
• Consumer Group — независимы
partition 1
partition 2
partition N
Producers
Group AA: 7
A: 5
• Topic — набор partition
• Partition — файл(ы)
Kafka — прекрасный инструмент
19. • Producers — пишут в конец
• Consumer Group — независимы
partition 1
partition 2
partition N
Producers
Group A
Group B
A: 7
A: 5
• Topic — набор partition
• Partition — файл(ы)
B: 3
B: 8
Kafka — прекрасный инструмент
20. • Producers — пишут в конец
• Consumer Group — независимы
partition 1
partition 2
partition N
Producers
Consumer A
• Topic — набор partition
• Partition — файл(ы)
A: 7
A: 5 B: 3
B: 8
Group A
Consumer BGroup B
Kafka — прекрасный инструмент
21. Пишем данные в реальном времени
• подготовка к random write
Loader
22. Пишем данные в реальном времени
• подготовка к random write
• все пошло не так
• самомасштабирование
Stream-loaderLoader