Slide 1

Slide 1 text

Аналитическое хранилище Avito.ru От больших данных к очень большим данным Данилов Артем Архитектор хранилища данных [email protected]

Slide 2

Slide 2 text

Сайт объявлений №1 в России* ТОП-10 самых посещаемых сайтов Рунета 39 миллиона активных объявлений 35 миллионов уникальных посетителей в месяц 50% просмотров с мобильных устройств Moscow St. Petersburg Novosibirsk N. Novgorod Kazan Samara Rostov Volgograd Voronezh Ufa Chelyabinsk Omsk Krasnoyarsk Vladivostok Yakutsk Irkutsk Khabarovsk • По данным ООО «ЛПСР» (LiveInternet.ru) в категории «Товары и услуги» на 30 августа 2016 года

Slide 3

Slide 3 text

Откуда у Avito большие данные?

Slide 4

Slide 4 text

Clickstream Просмотр … Отправка письма Размещение Контакт Звонок клиенту Пользователь Сотрудник Робот log01 log02 logNN

Slide 5

Slide 5 text

Изменения сущностей 01.01.2017 • 500$ • MacBook 02.01.2017 • 500$ • MacBook Air 11 03.01.2017 • 400$ • MacBook Air 11

Slide 6

Slide 6 text

Внешние источники

Slide 7

Slide 7 text

Хранилище данных в Avito

Slide 8

Slide 8 text

Развитие хранилища данных 4 10 15 17 21 Cluster size (servers) 11 26 51 76 101 Cluster size (TB) 3 14 23 29 35 Integrated systems count

Slide 9

Slide 9 text

Развитие хранилища данных 300 560 740 1 000 1 500 0 200 400 600 800 1 000 1 200 1 400 1 600 Clickstream size (millions/day)

Slide 10

Slide 10 text

Общая архитектура Antifraud MDM CRM Avito Team Clickstream Back office

Slide 11

Slide 11 text

• Ежедневное обновление • Live - connection Backoffice DB ClickStream • 1,5 миллиарда событий в день • Отставание от сайта ~ 30 минут ClickStream (4 месяца) • 400 таблиц • 180 млрд. строк Backoffice (вся история) • 1120 таблиц • до 2 млрд. строк Команда Avito 21 серверов, 101Tb данных Other Sources Все изменения каждые 2 часа Other • 1613 таблиц Не реже 1 раза в день Archive (>100TB)

Slide 12

Slide 12 text

Количество таблиц 0 1000 2000 3000 4000 5000 6000 09.13 10.13 11.13 12.13 01.14 02.14 03.14 04.14 05.14 06.14 07.14 08.14 09.14 10.14 11.14 12.14 01.15 02.15 03.15 04.15 05.15 06.15 07.15 08.15 09.15 10.15 11.15 12.15 01.16 02.16 03.16 04.16 05.16 06.16 07.16 08.16 09.16 10.16 11.16 12.16 01.17 02.17 03.17 04.17 05.17 06.17 anchors attributes ties total

Slide 13

Slide 13 text

Что нам позволяет так быстро расти?

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Anchor Modeling - 6NF Web Event Referer Cookie Event Date A/B tag

Slide 16

Slide 16 text

Anchor Modeling - 6NF Преимущества: § Автоматизированное расширение § Значительная экономия места (нет NULL и лишнего дублирования) § ETL не требует DELETE или UPDATE, что важно для колоночных БД Недостатки: • Сложность написания запросов • Большое количество таблиц обязательно требует наличие документации

Slide 17

Slide 17 text

Пример добавления сущностей User Items Payment Click Search UserAgent Cookie Back office ClickStream Data Enrichment Device Browser Device Model

Slide 18

Slide 18 text

Аналитика в Avito

Slide 19

Slide 19 text

Оптимизация процессов Прогнозирование Цены на услуги Корпоративная отчетность Оптимизация рекламы Качество контента Customer Experience Исследования ML

Slide 20

Slide 20 text

И конечно же, многое другое…

Slide 21

Slide 21 text

Принципы аналитики Все данные хранятся в консистентном виде в DWH Почти в каждой команде есть как минимум один аналитик Аналитики знают SQL, Python и самостоятельно работают с хранилищем Большинство видов анализа занимает от минут до 2 часов Если анализ требует больше времени либо возникают сложности в написании запроса – привлекается Platform Team Platform team занимается поддержкой платформы, добавлением данных, исправлением ошибок и созданием витрин

Slide 22

Slide 22 text

А что дальше?

Slide 23

Slide 23 text

Планы Real-time Data Governance Автоматизация Масштабирование

Slide 24

Slide 24 text

Подробнее о хранилище • Как мы считали трафик на Вертике — Голов Николай — http://www.highload.ru/2014/abstra cts/1570.html • От больших к очень большим данным — зачем нужна нормализация в Big Data? — Голов Николай - http://www.highload.ru/2015/abstracts/1878.html • Хранилище данных Avito: аналитика для микросервисной архитектуры — Данилов Артем - http://www.highload.ru/2017/abstracts/2864.html • События, события и ещё раз события. Опыт построения Event Stream Processing — Сухов Антон — http://ritfest.ru/2017/abstracts/2652.html

Slide 25

Slide 25 text

Спасибо! Вопросы?