Архитектура продукта thumbtack rtb bidder

16
NSQL Опыт применения NoSQL решений в проекте Thumbtack RTB Bidder. Или как покупать контекстную рекламу в режиме реального времени, и не утонуть в водопаде данных. Анатолий Никулин

Upload: anatoliy-nikulin

Post on 29-Jul-2015

71 views

Category:

Software


6 download

TRANSCRIPT

Page 1: Архитектура продукта Thumbtack RTB Bidder

N☆SQL

Опыт применения NoSQL решений в проекте Thumbtack RTB Bidder.

Или как покупать контекстную рекламу в режиме реального времени, и не утонуть в водопаде

данных.

Анатолий Никулин

Page 2: Архитектура продукта Thumbtack RTB Bidder

RTB Architecture

Термины: RTB Exchange (SSP) - биржа, Bidder (DSP) - брокерCreative - он же баннерPublisher - сайт

CPI - Cost per ImpressionCPA - Cost per action

Page 3: Архитектура продукта Thumbtack RTB Bidder

Real Time Core (Bidder)За 30 ms надо выбрать пару: Creative + Ставка (Bid)

Page 4: Архитектура продукта Thumbtack RTB Bidder

Что принимаем и что отдаем

Page 5: Архитектура продукта Thumbtack RTB Bidder

Creative

id: 123123 - идентификаторsize: 120x50 - размерsnippet : "<img src='my-image-adserver.com/1234567'/>" … ...index: { city: [omsk, moskow, spb] age: [20-25, 30-31]}

динамическиекатегории

Page 6: Архитектура продукта Thumbtack RTB Bidder

Как хранить креатив в RDBMS?

Page 7: Архитектура продукта Thumbtack RTB Bidder

Идеально подходящая структура - JSON

Где JSON - там и MongoDB :-)

● Динамическая структура

● Гибкий поиск по полям JSON

● Нет проблем с меняющейся схемой, в

процессе разработки.

* MongoDB хранит креативы, кампании, можно делать выборки и отчёты. Но поиск в режиме реального времени мы ей не доверили. Запилили сами внутрипроцессный кэш:-) Mongo - не для RT

Page 8: Архитектура продукта Thumbtack RTB Bidder

Redis - оперативная статистика

Данных много и обновляются они раз в час

Статистика цен, в разных срезах:

● По дням недели

● По паблишерам

● По времени суток

● По доходности креативов

Page 9: Архитектура продукта Thumbtack RTB Bidder

Events

1000 QPS = 86 400 000 в сутки

Page 10: Архитектура продукта Thumbtack RTB Bidder

Зачем хранить запросы?

1. История посещений пользователя. По ней можно вычислить соц. дем. и кое-какие интересы.

rbc.ru60%

40%

habr.ru80%

20%

Page 11: Архитектура продукта Thumbtack RTB Bidder

Зачем хранить запросы?

2. Referer. &q=”пластиковые окна”

В нем часто можно встретить поисковые запросы,

из которых также можно попытаться достать интересы.

Page 12: Архитектура продукта Thumbtack RTB Bidder

Зачем хранить ответы?

Для анализа успешности и эффективности торговой

стратегии.

победа % поражение + цена вопроса

Page 13: Архитектура продукта Thumbtack RTB Bidder

Данные льются в HDFSони не упорядоченны

Page 14: Архитектура продукта Thumbtack RTB Bidder

Bulk-load

Page 15: Архитектура продукта Thumbtack RTB Bidder
Page 16: Архитектура продукта Thumbtack RTB Bidder

Вопросы?