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

Preview:

DESCRIPTION

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

Citation preview

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

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

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

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

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

46 млн

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

20 млн

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

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

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

Backoffice DB Clickstream

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

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

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

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

Daily syncLive connection

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

Analysts

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

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

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

Город

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

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

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

Автомобили

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

День

Неделя

Месяц Июль

07.07.2014

07.07.2014 08.07.2014 09.07.2014

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

посетителей

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

Город

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

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

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

Автомобили

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

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

85

~5000

11

67

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

mobile)• …

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

250 mln/day

Select count(...), …

From TGroup by …

250 mln. 3 mln. groups

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

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

1.1.1.127, 13:09 07.08.2014

….

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

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

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

Сочи, Авто

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

Все авито

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

5 bln/day250

mln/day3

mln/day

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

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

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

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

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

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

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

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

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

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

измерений

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

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

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

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

сочетания

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

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

Сочи, авто

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

авто

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

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

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

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

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

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

Сочи, авто

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

авто

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

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

Select count(distinct...), …

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

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

Select count(distinct...), …

From TGroup by …

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

07.07.2014 08.07.2014 09.07.2014

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

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

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

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

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

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

Recommended