Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Real time dmp

1,186 views

Published on

Презентация о нашем новом real-time движке обработки данных

Published in: Engineering

Real time dmp

  1. 1. datacentric.ru Переход с Map-Reduce на Real-time архитектуру Александр Петров Head of R&D
  2. 2. Архитектура DMP • Действия пользователей накапливаются в HBASE • Раз в сутки Analytic Engine полностью пересчитывает профили пользователей • Analytic Engine – контейнер скриптов • Задержка – минимум сутки
  3. 3. Ретаргетинг: вероятность конверсии
  4. 4. Нужен Real-Time engine • Для того чтобы не терять ценных клиентов – нужно обрабатывать данные без задержек • Хочется сохранить возможность конструирования сложных сегментов • Не хочется каждый день обрабатывать всю историю пользователей (даже если она не изменилась)
  5. 5. Модель Акторов Актор– примитив параллельного расчета. Актор умеет: • Принимать сообщения • Посылать сообщения • Создавать новых актор’ов • Устанавливать как реагировать на сообщения
  6. 6. Akka + Akka cluster Akka – toolkit для scala и java реализующий модель акторов. Предназначен для разработки масштабируемых приложений. Akka cluster – часть akka реализующая распределенную сетевую работу модели акторов. http://akka.io/ - сайт akka https://www.coursera.org/course/reactive - курс на coursera
  7. 7. Архитектура Real-Time engine • 1 юзер= 1 актор • Юзеры шардированы по User ID • Dispatcher читает сообщения из очереди и отправляет actor’у соответствующему User ID (или создает новый actor) • Актор при получении сообщения запускает скритпы сегментации
  8. 8. Результаты • Входящий поток 3000 событий в секунду • 3 ноды akka-кластера • TTL – 1 час, 7 миллионов пользователей онлайн • Среднее время выполнение одного скрипта < 5мс • Средняя задержка между попаданием юзера в очередь и обновлением информации в aerospike – 1 секунда
  9. 9. Where we go • Персистентность – сейчас RT обрабатывает только последнюю сессию юзера • Перевод всех источников данных на RT-обработку и полный отказ от map- reduce • Уменьшение количества используемых мощностей за счет обработки только активных пользователей
  10. 10. БОЛЬШИЕ ДАННЫЕ ДЛЯ БОЛЬШОГО ДЕЛА a.petrov@datacentric.ru Спасибо за внимание!

×