17
Как мы считали трафик на Вертике Голов Николай

Как мы считали трафик на Вертике, Николай Голов (Avito)

  • Upload
    ontico

  • View
    612

  • Download
    4

Embed Size (px)

DESCRIPTION

Доклад Николая Голова на HIghLoad++ 2014.

Citation preview

Page 1: Как мы считали трафик на Вертике, Николай Голов (Avito)

Как мы считали трафик на ВертикеГолов Николай

Page 2: Как мы считали трафик на Вертике, Николай Голов (Avito)

Что такое Avito.ru?#1 сайт объявлений в России*

–3.9 млрд просмотров в месяц

–40 млн посетителей в месяц

Page 3: Как мы считали трафик на Вертике, Николай Голов (Avito)

Уникальные посетители Avito.ru

46 млн

Page 4: Как мы считали трафик на Вертике, Николай Голов (Avito)

Активные объявления Avito.ru

20 млн

Page 5: Как мы считали трафик на Вертике, Николай Голов (Avito)

Что такое Avito.ru?Более 150млн просмотров в день – один из крупнейших сайтов объявлений в мире

20 млн активных объявлений**: Недвижимость, Транспорт, Работа, Услуги, Товары для дома и т. д.

Page 6: Как мы считали трафик на Вертике, Николай Голов (Avito)

Big data инсталляция Авито

Backoffice DB Clickstream

(10-серверный кластер)

• ~500 млн. событий/день• Загрузка раз в 15 минут

Таблицы действий посетителей~ 50 таблиц~ 100 млрд. записей

Таблицы Backoffice~ 300 таблиц~ до 2 млрд. записей

Daily syncLive connection

Внешние данные

Analysts

~26TB несжатых данных

• Загрузка раз в 20 мин.• Все изменения

Page 7: Как мы считали трафик на Вертике, Николай Голов (Avito)

Отчет о трафике – задача

Город

Регион Краснодарский край

Сочи Краснодар Категория

Мастеркатегория

Автомобили

Новые Подержанные

День

Неделя

Месяц Июль

07.07.2014

07.07.2014 08.07.2014 09.07.2014

Меры:• Количество просмотров• Количество сессий• Количество уникальных

посетителей

Page 8: Как мы считали трафик на Вертике, Николай Голов (Avito)

Отчет о трафике - размерность

Город

Регион Краснодарский край

Сочи Краснодар Категория

Мастеркатегория

Автомобили

Новые Подержанные

Количество сочетаний:5000*67*3*3*… >3mln

85

~5000

11

67

Малые измерения:• 3+ типа действий• 3 платформы (api, desc,

mobile)• …

Page 9: Как мы считали трафик на Вертике, Николай Голов (Avito)

Отчет о трафике - размерность

250 mln/day

Select count(...), …

From TGroup by …

250 mln. 3 mln. groups

Page 10: Как мы считали трафик на Вертике, Николай Голов (Avito)

Неаддитивные меры

….Сочи, Новые авто,

1.1.1.127, 13:09 07.08.2014

….

250 mln. ~20*250mln.=5 bln. 3 mln. groups

Российская федерация, все

Краснодарский край, Авто

Сочи, Авто

Сочи, Новые авто

Все авито

Page 11: Как мы считали трафик на Вертике, Николай Голов (Avito)

Размерность с учетом неаддитивности

5 bln/day250

mln/day3

mln/day

Day = 5 bln.Week = 150 bln.Month = 1.5 trln.

Page 12: Как мы считали трафик на Вертике, Николай Голов (Avito)

Задача сложна =>шардирование

Тонкость – шардирование возможно только по результирующим данным, не по входящим.

Page 13: Как мы считали трафик на Вертике, Николай Голов (Avito)

Шардирование по аггрегатным группам

Сочи, подержанные авто

Сочи, новые авто

Краснодар, новые авто

Краснодарский край, авто

Уникальные непустые сочетания входных измерений

Уникальные непустые сочетания целевых

измерений

Page 14: Как мы считали трафик на Вертике, Николай Голов (Avito)

Инициализация метаданных

Исходные события

Уникальные непустые сочетания целевых измерений

Уникальные непустые входные

сочетания

Красн. край, авто

Кранодар, авто

Сочи, авто

Сочи, подерж.

авто

Матрица соответствия

входных и целевых сочетаний

Page 15: Как мы считали трафик на Вертике, Николай Голов (Avito)

Рассчет шарда

Выделение целевой группы по остатку от деления уникального ключа

Красн. край, авто

Кранодар, авто

Сочи, авто

Сочи, подерж.

авто

Отбор входных групп по матрице соответствия

Размножение записей отобранных входных групп

Select count(distinct...), …

From TGroup by …Аггрегация

Page 16: Как мы считали трафик на Вертике, Николай Голов (Avito)

Алгоритм: реализация

Select count(distinct...), …

From TGroup by …

Выделение фрагмента, отбор целевых групп, оркестровка

07.07.2014 08.07.2014 09.07.2014

Параллельный запуск SQL

запросов по дням

Page 17: Как мы считали трафик на Вертике, Николай Голов (Avito)

Результаты• Сутки: ~250 млн. на вход, 7

фрагментов, 1-2 часа.• Неделя: ~2 млрд. на вход, 14

фрагментов, 4-5 часов.• Месяц: ~7 млрд. на вход, 21

фрагмент, 16-18 часов.