O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Real time dmp

1.132 visualizações

Publicada em

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

Publicada em: Engenharia
  • Seja o primeiro a comentar

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 Спасибо за внимание!

×