real time dmp

10
datacentric.ru Переход с Map-Reduce на Real-time архитектуру Александр Петров Head of R&D

Upload: alexandr-petrov

Post on 11-Aug-2015

634 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Real time dmp

datacentric.ru

Переход с Map-Reduce на Real-time архитектуру

Александр Петров

Head of R&D

Page 2: Real time dmp

Архитектура DMP

• Действия пользователей накапливаются в HBASE

• Раз в сутки Analytic Engine полностью пересчитывает профили пользователей

• Analytic Engine – контейнер скриптов

• Задержка – минимум сутки

Page 3: Real time dmp

Ретаргетинг: вероятность конверсии

Page 4: Real time dmp

Нужен Real-Time engine

• Для того чтобы не терять ценных клиентов – нужно обрабатывать данные без задержек

• Хочется сохранить возможность конструирования сложных сегментов

• Не хочется каждый день обрабатывать всю историю пользователей (даже если она не изменилась)

Page 5: Real time dmp

Модель Акторов

Актор– примитив параллельного расчета.

Актор умеет: • Принимать сообщения• Посылать сообщения• Создавать новых актор’ов• Устанавливать как

реагировать на сообщения

Page 6: Real time dmp

Akka + Akka cluster

Akka – toolkit для scala и java реализующий модель акторов. Предназначен для разработки масштабируемых приложений. Akka cluster – часть akka реализующая распределенную сетевую работу модели акторов.

http://akka.io/ - сайт akkahttps://www.coursera.org/course/reactive - курс на coursera

Page 7: Real time dmp

Архитектура Real-Time engine

• 1 юзер= 1 актор

• Юзеры шардированы по User ID

• Dispatcher читает сообщения из очереди и отправляет actor’у соответствующему User ID (или создает новый actor)

• Актор при получении сообщения запускает скритпы сегментации

Page 8: Real time dmp

Результаты

• Входящий поток 3000 событий в секунду• 3 ноды akka-кластера• TTL – 1 час, 7 миллионов пользователей онлайн• Среднее время выполнение одного скрипта < 5мс• Средняя задержка между попаданием юзера в очередь и обновлением

информации в aerospike – 1 секунда

Page 9: Real time dmp

Where we go

• Персистентность – сейчас RT обрабатывает только последнюю сессию юзера

• Перевод всех источников данных на RT-обработку и полный отказ от map-reduce

• Уменьшение количества используемых мощностей за счет обработки только активных пользователей

Page 10: Real time dmp

БОЛЬШИЕ ДАННЫЕДЛЯ БОЛЬШОГО ДЕЛА

[email protected]

Спасибо за внимание!