SlideShare a Scribd company logo
1 of 26
Большие данные на службе
рекламного бизнеса
Александр Петров
Head of R&D
Семинар “Распределённые системы и сети”
15.10.2015
Обо Мне
• Выпускник ЛВК 2011 года
• Работал в компаниях Яндекс, Mail.ru,
Tinkoff digital
• C 2015 года работаю в компании Data-
Centric alliance директором по R&D
• Преподаю на курсах “Специалист по
большим данным” в Digital Оctober
Российская компания, специализирующаяся
на работе с Big Data и высоконагруженными
системами.
Располагая одним из самых объемных
массивов анонимных данных о
пользователях российского интернета, DCA
разрабатывает и внедряет ряд программных
продуктов, решающих различные задачи
современного бизнеса.
RTB (Real Time Bidding)
• Модель по продаже рекламы по модели аукциона в реальном времени
• Торги происходят за каждый конкретный показ баннера
• Модель не только для рекламы, но и вообще для чего угодно
• Конкуренция знаниями и алгоритмами
Как работает RTB
Сторона покупки Сторона продажи User
Browser
Publisher
Sell-Side Platform
Аукцион 2-й цены
Demand-Side Platform
Demand-Side Platform
Demand-Side Platform
Рекламодатель
Рекламодатель
Рекламодатель
Data Management Platform
Основные понятия RTB
• User - произвольный пользователь интернета
• Publisher – сайт, который размещает рекламу
• Sell Side Platform (SSP) – рекламная биржа, которая проводит
аукцион. Как правило обслуживает большое количество Publisher’ов
• Advertiser – рекламодатель, заинтересованный в покупке рекламы
• DSP – Demand Side Platform – платформа, которая представляет
интересы рекламодателей. Как правило, агрегрегирует много
Advertiser
• DMP – обладает большим количеством знаний о пользователях
Pixel resolver Data Providers
File Loaders
Facts Loaders
Raw data storage
Analytical Engine Analytical Suite
Real-Time storage
API
Clients Clients
Real-Time Engine
Semantic Analyzer
Facetz.DCA: Основные концепции
• Не должно быть единой точки отказа
• Горизонтальная масштабируемость
• Возможность построения любых сколь угодно
сложных сегментов над пользователями
• Минимизация ручного труда
Cookie matching
• Cookie – некоторая информация, которую сервер может
сохранить в браузере
• Cookie используются для идентификации пользователей
• У каждого пользователя своя Cookie
• Для того, чтобы обмениваться информацией о пользователе
необходим механизм синхронизации
Схема Cookie Matching
Data Source
datasource.com
Dmp
facetz.net
Example.com
<img src=“datasource.com/cookesync”>
GET /cookiesync
Host: datasource.com
Cookie: uid=123
HTTP 302 / not found
Location: http://facetz.net/sync/datadasource/?id=123
GET / facetz.net/sync/datadasource/?id=123
Host: facetz.net
Cookie: uid=abc
HTTP 200/ OK
1x1 Empty.gif Matching table
Datasource uid 123 =
Facetz uid abc
Pixel Resolver
• Выполняет cookie sync
• Собирает данные по referer’ам по партнерской сети
Pixel resolver
Files Loaders
Pixel resolver Data Providers
File Loaders
• Универсальный framework позволяющий
загрузить данные в максимально сыром
виде
• Сохраняет данные в виде файлов на
HDFS
• Сохраняем в максимально сыром виде
не выполняя никаких преобразований
Facts Loaders
Pixel resolver Data Providers
File Loaders
• Framework для загрузки данных в Hbase
• Периодически запускается и
перекладывает в HBase накопившиеся
данные
Facts Loaders
Raw data storage
Pixel resolver Data Providers
File Loaders
• Основано на Hbase (колоночная база
данных из стека hadoop)
• Данные отсортированы по
пользователям
• Данные разобраны по типам (URL –
отдельно, поисковики – отдельно)
Facts Loaders
Raw data storage
Analytical Engine
Pixel resolver Data Providers
File Loaders
• Map-Reduce Job
• Загружает из внешнего хранилища
(MongoDB) скрипты для разметки
пользователей сегментами
• Результаты складывает в Real-Time
storage
• Запускается раз в сутки
Facts Loaders
Raw data storage
Analytical Engine
Analytical Suite
Pixel resolver Data Providers
File Loaders
• Набор инструментов для аналитика
• Библиотеки для Python для доступа к
данным
• Средства для отладки Groovy-скриптов
• Средства сериализации/десериализации
данных
• Средства визуализации данных
Facts Loaders
Raw data storage
Analytical Engine Analytical Suite
Real Time Storage
Pixel resolver Data Providers
File Loaders
• Реализовано на основе Aerospike (очень
быстрая и отказоустойчивая key-value
база данных)
• Хранит сегменты в привязке к куке
• Хранит индексы
• Должен быть очень быстрым,
отказоустойчивым и масштабируемым
Facts Loaders
Raw data storage
Analytical Engine Analytical Suite
Real-Time storage
API
Pixel resolver Data Providers
File Loaders
• HTTP-сервис, точка доступа к DMP для
клиентов
• Основное назначение – обогатить
данными запрос
• Запросы во внешние DMP
• Главное - ответить
Facts Loaders
Raw data storage
Analytical Engine Analytical Suite
Real-Time storage
API
Clients Clients
Real-Time engine
• Сутки – это очень долго
• Некоторые сегменты актуальны
только в
• течение нескольких часов
• Пример: вероятность покупки
телефона через N часов после
просмотра
Модель акторов
Актор – это примитив параллельного
программирования, который умеет:
• Принимать сообщения
• Посылать сообщения
• Создавать новых актор’ов
• Устанавливать реакцию на сообщения
Akka
Фреймворк для java и scala для работы с акторами
Akka cluster - масштабирование акторов на много машин
«Принципы реактивного программирования» - хороший курс на
coursera по реактивному программированию.
https://www.coursera.org/course/reactive
Real-Time Engine
Pixel resolver Data Providers
File Loaders
Facts Loaders
Raw data storage
Analytical Engine Analytical Suite
Real-Time storage
API
Clients Clients
• Полноценный Realtime-движок на
акторах
• Для каждого онлайн-пользователя в
интернете заводится объект
содержащий всю информацию о нем в
памяти
• Выполняются те же скрипты, что и в
Analytical Engine
• Можно рассчитывать сегменты
произвольной сложности
• Подробности:
http://habrahabr.ru/company/dca/blog/26
0845/
Real-Time Engine
Семантический анализатор
Pixel resolver Data Providers
File Loaders
Facts Loaders
Raw data storage
Analytical Engine Analytical Suite
Real-Time storage
API
Clients Clients
• Составление обучающей выборки на
основе поисковых запросов
• Иерархическая классификация
• 15 % выборка для feature selection,
70% обучающая, 15% контрольная
• Взвешенная F-мера для оценки
качества классификации.
• Визуализация качества.
• Подробности:
http://habrahabr.ru/company/dca/blog/26
1677/
Real-Time Engine
Semantic Analyzer
Facetz сейчас
• 600000000 кук
• 25 фактов на куку
• 6000000 пользователей онлайн
• 1500 новых пользователей в RT-
движке в секунду
• 50000 новых фактов в секунду
• 15000 запросов за данными в секунду
• 1500 сегментов
Читайте наш техноблог
http://habrahabr.ru/company/dca/
119072, Москва,
Берсеневский пер.2/1
Телефон: +7 (499) 429-09-77
По общим вопросам:
common@datacentric.ru
Соискателям:
cv@datacentric.ru
Спасибо за внимание!

More Related Content

What's hot

Виталий Гаврилов (Ленвендо)
Виталий Гаврилов (Ленвендо)Виталий Гаврилов (Ленвендо)
Виталий Гаврилов (Ленвендо)Ontico
 
Электронная коммерция: от Hadoop к Spark Scala
Электронная коммерция: от Hadoop к Spark ScalaЭлектронная коммерция: от Hadoop к Spark Scala
Электронная коммерция: от Hadoop к Spark ScalaRoman Zykov
 
Windows Azure - BigData and Hadoop
Windows Azure - BigData and HadoopWindows Azure - BigData and Hadoop
Windows Azure - BigData and HadoopAlexey Bokov
 
SECON'2016. Алексеев Олег, Живой API
SECON'2016. Алексеев Олег, Живой APISECON'2016. Алексеев Олег, Живой API
SECON'2016. Алексеев Олег, Живой APISECON
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитикиИлья Середа
 
Квятковский Андрей. Cloud berry
Квятковский Андрей. Cloud berryКвятковский Андрей. Cloud berry
Квятковский Андрей. Cloud berryVeeRoute
 
Startup Crash Test - Andrey Kvjatkovsky - Cloud Berry
Startup Crash Test - Andrey Kvjatkovsky - Cloud BerryStartup Crash Test - Andrey Kvjatkovsky - Cloud Berry
Startup Crash Test - Andrey Kvjatkovsky - Cloud BerryNevaCamp
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунетаCEE-SEC(R)
 
Блеск и нищета распределённых кэшей
Блеск и нищета распределённых кэшейБлеск и нищета распределённых кэшей
Блеск и нищета распределённых кэшейaragozin
 
Андрей Созыкин — ИММ УрО РАН — ICDBA2016
Андрей Созыкин — ИММ УрО РАН — ICDBA2016Андрей Созыкин — ИММ УрО РАН — ICDBA2016
Андрей Созыкин — ИММ УрО РАН — ICDBA2016rusbase
 
Где сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchГде сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchИлья Середа
 
Clickhouse
ClickhouseClickhouse
ClickhouseClickky
 
Как российские ИТ-компании могут зарабатывать на Windows Azure
Как российские ИТ-компании могут зарабатывать на Windows AzureКак российские ИТ-компании могут зарабатывать на Windows Azure
Как российские ИТ-компании могут зарабатывать на Windows AzureValery Bychkov
 
презентация
презентацияпрезентация
презентацияAndrey Arbuzov
 
High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)Pavel Alexeev
 
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцКак мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцMikhail Tabunov
 
Переход в Облако для решения «земных» задач
Переход в Облако для решения «земных» задачПереход в Облако для решения «земных» задач
Переход в Облако для решения «земных» задачTechExpert
 
Александр Шуйсков (NAUMEN): перспективы развития Database as a Service
Александр Шуйсков (NAUMEN): перспективы развития Database as a ServiceАлександр Шуйсков (NAUMEN): перспективы развития Database as a Service
Александр Шуйсков (NAUMEN): перспективы развития Database as a ServiceKirill Rubinshteyn
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...IT-Portfolio
 

What's hot (20)

Виталий Гаврилов (Ленвендо)
Виталий Гаврилов (Ленвендо)Виталий Гаврилов (Ленвендо)
Виталий Гаврилов (Ленвендо)
 
Электронная коммерция: от Hadoop к Spark Scala
Электронная коммерция: от Hadoop к Spark ScalaЭлектронная коммерция: от Hadoop к Spark Scala
Электронная коммерция: от Hadoop к Spark Scala
 
Windows Azure - BigData and Hadoop
Windows Azure - BigData and HadoopWindows Azure - BigData and Hadoop
Windows Azure - BigData and Hadoop
 
SECON'2016. Алексеев Олег, Живой API
SECON'2016. Алексеев Олег, Живой APISECON'2016. Алексеев Олег, Живой API
SECON'2016. Алексеев Олег, Живой API
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
Квятковский Андрей. Cloud berry
Квятковский Андрей. Cloud berryКвятковский Андрей. Cloud berry
Квятковский Андрей. Cloud berry
 
Startup Crash Test - Andrey Kvjatkovsky - Cloud Berry
Startup Crash Test - Andrey Kvjatkovsky - Cloud BerryStartup Crash Test - Andrey Kvjatkovsky - Cloud Berry
Startup Crash Test - Andrey Kvjatkovsky - Cloud Berry
 
Семантическое ядро рунета
Семантическое ядро рунетаСемантическое ядро рунета
Семантическое ядро рунета
 
Блеск и нищета распределённых кэшей
Блеск и нищета распределённых кэшейБлеск и нищета распределённых кэшей
Блеск и нищета распределённых кэшей
 
Андрей Созыкин — ИММ УрО РАН — ICDBA2016
Андрей Созыкин — ИММ УрО РАН — ICDBA2016Андрей Созыкин — ИММ УрО РАН — ICDBA2016
Андрей Созыкин — ИММ УрО РАН — ICDBA2016
 
Где сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchГде сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearch
 
Clickhouse
ClickhouseClickhouse
Clickhouse
 
Платформа в облаках. Windows Azure
Платформа в облаках. Windows AzureПлатформа в облаках. Windows Azure
Платформа в облаках. Windows Azure
 
Как российские ИТ-компании могут зарабатывать на Windows Azure
Как российские ИТ-компании могут зарабатывать на Windows AzureКак российские ИТ-компании могут зарабатывать на Windows Azure
Как российские ИТ-компании могут зарабатывать на Windows Azure
 
презентация
презентацияпрезентация
презентация
 
High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)High load++2016.highlights (dropbox+clickhouse)
High load++2016.highlights (dropbox+clickhouse)
 
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцКак мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
 
Переход в Облако для решения «земных» задач
Переход в Облако для решения «земных» задачПереход в Облако для решения «земных» задач
Переход в Облако для решения «земных» задач
 
Александр Шуйсков (NAUMEN): перспективы развития Database as a Service
Александр Шуйсков (NAUMEN): перспективы развития Database as a ServiceАлександр Шуйсков (NAUMEN): перспективы развития Database as a Service
Александр Шуйсков (NAUMEN): перспективы развития Database as a Service
 
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
16 декабря, DEV {highload} - конференция о Highload веб-разработке, "Оптимиза...
 

Similar to доклад на вмк 15.10.2015

CleverDATA_Oracle Cloud BI Day 2015
CleverDATA_Oracle Cloud BI Day 2015CleverDATA_Oracle Cloud BI Day 2015
CleverDATA_Oracle Cloud BI Day 2015CleverDATA
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Vadim Martynov
 
Виртуализация Данных: Введение
Виртуализация Данных: ВведениеВиртуализация Данных: Введение
Виртуализация Данных: ВведениеDenodo
 
«Облачная платформа Windows Azure для высоконагруженных проектов»
«Облачная платформа Windows Azure для высоконагруженных проектов»«Облачная платформа Windows Azure для высоконагруженных проектов»
«Облачная платформа Windows Azure для высоконагруженных проектов»Nata_Churda
 
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...Ontico
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Ontico
 
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнесаФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнесаЭкосистемные Проекты Фрии
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
Больше DMP, хороших и разных
Больше DMP, хороших и разныхБольше DMP, хороших и разных
Больше DMP, хороших и разныхHybridRussia
 
Управляем сайтом: Быстро. Просто. Эффективно.
Управляем сайтом: Быстро. Просто. Эффективно.Управляем сайтом: Быстро. Просто. Эффективно.
Управляем сайтом: Быстро. Просто. Эффективно.Евгений Курбанов
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Ontico
 
Grpahite&amp;grafana
Grpahite&amp;grafanaGrpahite&amp;grafana
Grpahite&amp;grafanaLevon Avakyan
 
Защищенная веб-аналитика для банков, телекомов, медицинских центров
Защищенная веб-аналитика для банков, телекомов, медицинских центровЗащищенная веб-аналитика для банков, телекомов, медицинских центров
Защищенная веб-аналитика для банков, телекомов, медицинских центровAndrew Fadeev
 
Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач simai
 
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...borovoystudio
 
опыт Clickberry.com стартап на drupal в облаке павел загор
опыт Clickberry.com   стартап на drupal в облаке павел загоропыт Clickberry.com   стартап на drupal в облаке павел загор
опыт Clickberry.com стартап на drupal в облаке павел загорdrupalconf
 
1С-Битрикс: От Старта к Большому бизнесу
1С-Битрикс: От Старта к Большому бизнесу1С-Битрикс: От Старта к Большому бизнесу
1С-Битрикс: От Старта к Большому бизнесуЕвгений Курбанов
 

Similar to доклад на вмк 15.10.2015 (20)

CleverDATA_Oracle Cloud BI Day 2015
CleverDATA_Oracle Cloud BI Day 2015CleverDATA_Oracle Cloud BI Day 2015
CleverDATA_Oracle Cloud BI Day 2015
 
Ekran cloud ru
Ekran cloud ruEkran cloud ru
Ekran cloud ru
 
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
Лучшие практики корпоративной разработки. Лекция 0: обзор курса.
 
Виртуализация Данных: Введение
Виртуализация Данных: ВведениеВиртуализация Данных: Введение
Виртуализация Данных: Введение
 
«Облачная платформа Windows Azure для высоконагруженных проектов»
«Облачная платформа Windows Azure для высоконагруженных проектов»«Облачная платформа Windows Azure для высоконагруженных проектов»
«Облачная платформа Windows Azure для высоконагруженных проектов»
 
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
API плюс толстый клиент – новая парадигма веб-разработки? / Андрей Лебедев (Г...
 
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
 
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнесаФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
Что нового в 11.0?
Что нового в 11.0?Что нового в 11.0?
Что нового в 11.0?
 
Больше DMP, хороших и разных
Больше DMP, хороших и разныхБольше DMP, хороших и разных
Больше DMP, хороших и разных
 
Управляем сайтом: Быстро. Просто. Эффективно.
Управляем сайтом: Быстро. Просто. Эффективно.Управляем сайтом: Быстро. Просто. Эффективно.
Управляем сайтом: Быстро. Просто. Эффективно.
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
 
Что Google Cloud Platform может дать бизнесу
Что Google Cloud Platform может дать бизнесуЧто Google Cloud Platform может дать бизнесу
Что Google Cloud Platform может дать бизнесу
 
Grpahite&amp;grafana
Grpahite&amp;grafanaGrpahite&amp;grafana
Grpahite&amp;grafana
 
Защищенная веб-аналитика для банков, телекомов, медицинских центров
Защищенная веб-аналитика для банков, телекомов, медицинских центровЗащищенная веб-аналитика для банков, телекомов, медицинских центров
Защищенная веб-аналитика для банков, телекомов, медицинских центров
 
Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач Современные технологии сайтостроения для решения бизнес-задач
Современные технологии сайтостроения для решения бизнес-задач
 
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
 
опыт Clickberry.com стартап на drupal в облаке павел загор
опыт Clickberry.com   стартап на drupal в облаке павел загоропыт Clickberry.com   стартап на drupal в облаке павел загор
опыт Clickberry.com стартап на drupal в облаке павел загор
 
1С-Битрикс: От Старта к Большому бизнесу
1С-Битрикс: От Старта к Большому бизнесу1С-Битрикс: От Старта к Большому бизнесу
1С-Битрикс: От Старта к Большому бизнесу
 

доклад на вмк 15.10.2015

  • 1. Большие данные на службе рекламного бизнеса Александр Петров Head of R&D Семинар “Распределённые системы и сети” 15.10.2015
  • 2. Обо Мне • Выпускник ЛВК 2011 года • Работал в компаниях Яндекс, Mail.ru, Tinkoff digital • C 2015 года работаю в компании Data- Centric alliance директором по R&D • Преподаю на курсах “Специалист по большим данным” в Digital Оctober
  • 3. Российская компания, специализирующаяся на работе с Big Data и высоконагруженными системами. Располагая одним из самых объемных массивов анонимных данных о пользователях российского интернета, DCA разрабатывает и внедряет ряд программных продуктов, решающих различные задачи современного бизнеса.
  • 4. RTB (Real Time Bidding) • Модель по продаже рекламы по модели аукциона в реальном времени • Торги происходят за каждый конкретный показ баннера • Модель не только для рекламы, но и вообще для чего угодно • Конкуренция знаниями и алгоритмами
  • 5. Как работает RTB Сторона покупки Сторона продажи User Browser Publisher Sell-Side Platform Аукцион 2-й цены Demand-Side Platform Demand-Side Platform Demand-Side Platform Рекламодатель Рекламодатель Рекламодатель Data Management Platform
  • 6. Основные понятия RTB • User - произвольный пользователь интернета • Publisher – сайт, который размещает рекламу • Sell Side Platform (SSP) – рекламная биржа, которая проводит аукцион. Как правило обслуживает большое количество Publisher’ов • Advertiser – рекламодатель, заинтересованный в покупке рекламы • DSP – Demand Side Platform – платформа, которая представляет интересы рекламодателей. Как правило, агрегрегирует много Advertiser • DMP – обладает большим количеством знаний о пользователях
  • 7. Pixel resolver Data Providers File Loaders Facts Loaders Raw data storage Analytical Engine Analytical Suite Real-Time storage API Clients Clients Real-Time Engine Semantic Analyzer
  • 8. Facetz.DCA: Основные концепции • Не должно быть единой точки отказа • Горизонтальная масштабируемость • Возможность построения любых сколь угодно сложных сегментов над пользователями • Минимизация ручного труда
  • 9. Cookie matching • Cookie – некоторая информация, которую сервер может сохранить в браузере • Cookie используются для идентификации пользователей • У каждого пользователя своя Cookie • Для того, чтобы обмениваться информацией о пользователе необходим механизм синхронизации
  • 10. Схема Cookie Matching Data Source datasource.com Dmp facetz.net Example.com <img src=“datasource.com/cookesync”> GET /cookiesync Host: datasource.com Cookie: uid=123 HTTP 302 / not found Location: http://facetz.net/sync/datadasource/?id=123 GET / facetz.net/sync/datadasource/?id=123 Host: facetz.net Cookie: uid=abc HTTP 200/ OK 1x1 Empty.gif Matching table Datasource uid 123 = Facetz uid abc
  • 11. Pixel Resolver • Выполняет cookie sync • Собирает данные по referer’ам по партнерской сети Pixel resolver
  • 12. Files Loaders Pixel resolver Data Providers File Loaders • Универсальный framework позволяющий загрузить данные в максимально сыром виде • Сохраняет данные в виде файлов на HDFS • Сохраняем в максимально сыром виде не выполняя никаких преобразований
  • 13. Facts Loaders Pixel resolver Data Providers File Loaders • Framework для загрузки данных в Hbase • Периодически запускается и перекладывает в HBase накопившиеся данные Facts Loaders
  • 14. Raw data storage Pixel resolver Data Providers File Loaders • Основано на Hbase (колоночная база данных из стека hadoop) • Данные отсортированы по пользователям • Данные разобраны по типам (URL – отдельно, поисковики – отдельно) Facts Loaders Raw data storage
  • 15. Analytical Engine Pixel resolver Data Providers File Loaders • Map-Reduce Job • Загружает из внешнего хранилища (MongoDB) скрипты для разметки пользователей сегментами • Результаты складывает в Real-Time storage • Запускается раз в сутки Facts Loaders Raw data storage Analytical Engine
  • 16. Analytical Suite Pixel resolver Data Providers File Loaders • Набор инструментов для аналитика • Библиотеки для Python для доступа к данным • Средства для отладки Groovy-скриптов • Средства сериализации/десериализации данных • Средства визуализации данных Facts Loaders Raw data storage Analytical Engine Analytical Suite
  • 17. Real Time Storage Pixel resolver Data Providers File Loaders • Реализовано на основе Aerospike (очень быстрая и отказоустойчивая key-value база данных) • Хранит сегменты в привязке к куке • Хранит индексы • Должен быть очень быстрым, отказоустойчивым и масштабируемым Facts Loaders Raw data storage Analytical Engine Analytical Suite Real-Time storage
  • 18. API Pixel resolver Data Providers File Loaders • HTTP-сервис, точка доступа к DMP для клиентов • Основное назначение – обогатить данными запрос • Запросы во внешние DMP • Главное - ответить Facts Loaders Raw data storage Analytical Engine Analytical Suite Real-Time storage API Clients Clients
  • 19. Real-Time engine • Сутки – это очень долго • Некоторые сегменты актуальны только в • течение нескольких часов • Пример: вероятность покупки телефона через N часов после просмотра
  • 20. Модель акторов Актор – это примитив параллельного программирования, который умеет: • Принимать сообщения • Посылать сообщения • Создавать новых актор’ов • Устанавливать реакцию на сообщения
  • 21. Akka Фреймворк для java и scala для работы с акторами Akka cluster - масштабирование акторов на много машин «Принципы реактивного программирования» - хороший курс на coursera по реактивному программированию. https://www.coursera.org/course/reactive
  • 22. Real-Time Engine Pixel resolver Data Providers File Loaders Facts Loaders Raw data storage Analytical Engine Analytical Suite Real-Time storage API Clients Clients • Полноценный Realtime-движок на акторах • Для каждого онлайн-пользователя в интернете заводится объект содержащий всю информацию о нем в памяти • Выполняются те же скрипты, что и в Analytical Engine • Можно рассчитывать сегменты произвольной сложности • Подробности: http://habrahabr.ru/company/dca/blog/26 0845/ Real-Time Engine
  • 23. Семантический анализатор Pixel resolver Data Providers File Loaders Facts Loaders Raw data storage Analytical Engine Analytical Suite Real-Time storage API Clients Clients • Составление обучающей выборки на основе поисковых запросов • Иерархическая классификация • 15 % выборка для feature selection, 70% обучающая, 15% контрольная • Взвешенная F-мера для оценки качества классификации. • Визуализация качества. • Подробности: http://habrahabr.ru/company/dca/blog/26 1677/ Real-Time Engine Semantic Analyzer
  • 24. Facetz сейчас • 600000000 кук • 25 фактов на куку • 6000000 пользователей онлайн • 1500 новых пользователей в RT- движке в секунду • 50000 новых фактов в секунду • 15000 запросов за данными в секунду • 1500 сегментов
  • 26. 119072, Москва, Берсеневский пер.2/1 Телефон: +7 (499) 429-09-77 По общим вопросам: common@datacentric.ru Соискателям: cv@datacentric.ru Спасибо за внимание!