От больших к очень большим данным — зачем нужна...
TRANSCRIPT
![Page 1: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/1.jpg)
От больших к очень большим данным - зачем нужна нормализация в Big Data?Николай Голов
![Page 2: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/2.jpg)
Avito
![Page 3: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/3.jpg)
Безусловный лидер в РФ
Moscow
St. Petersburg
Novosibirsk
N. Novgorod
Kazan
Samara
Rostov
Volgograd
Voronezh
UfaChelyabinsk
Omsk
Krasnoyarsk
Vladivostok
Yakutsk
IrkutskKhabarovsk
1.6x2
от всего рынка объявления РФ
Почти 50% Просмотров с
мобильных устройств
40%Подержанных машин
РФ в 2014 были проданы на Авито
250K – 300K Новых авторов в день.
7.9млрд.Просмотров в Декабре
2014, 27млн уникальных посетителей
9,500+Платных магазинов
24.5млн.Активных объявлений
в конце 2014
![Page 4: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/4.jpg)
Эволюция Avito
Jan-09 Jul-09 Jan-10 Jul-10 Jan-11 Jul-11 Jan-12 Jul-12 Jan-13 Jul-13 Jan-14 Jul-14 Jan-150
400
800
1,200
1,600
2,000
2,400
Q1 2010Фокус на Москве и СПБ
Сентябрь 201013 новых городов
Август 201128 городов
Q2 2013Поглощение Slando и Olx зафиксировало лидирующую позицию Авито
Январь 2012Национальное покрытие
![Page 5: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/5.jpg)
Откуда у Avito большие данные?
![Page 6: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/6.jpg)
Первый источник данных - изменения
01.01.2015• 1000$
• MacBook
01.02.2015
• 100$• MacBook,
XXX videos, cal +1****
02.02.2015
• 500$• MacBook Air
11
![Page 7: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/7.jpg)
Web server 01
Web server 02
Web server 03
Log 01
Log 02
Log 03
search
view
help
pay
comment
Второй источник – clickstream
![Page 8: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/8.jpg)
Результаты 2013 Август 2013: ELT инфраструктура для Vertica.
Сентябрь 2013: Click Stream из MongoDB
Октябрь 2013: Данные BackOffice из PostgreSQL
![Page 9: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/9.jpg)
9 Backoffice DB Clickstream
• ~200 млн. Соб/день• Каждые 15 минут
• Все изменения• Раз в час
ClickStream tables~ 30 tables~ 50 bln. of records
Tables of Backoffice~ 300 tables~ up to 1 bln of records
Daily syncLive connection
Analysts
Результаты 2013
4 servers, 11Tb of raw data
![Page 10: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/10.jpg)
Откуда у Avito еще больше больших данных?
![Page 11: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/11.jpg)
Automatic filtering of illicit content
data samples for competition
![Page 12: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/12.jpg)
Users
Adverts
Payment
Clicks
Searches
Device
Cookie
Хранилище Avito - эволюция
Illicit content detection
Fraud estimation
![Page 13: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/13.jpg)
Основные принципы аналитики Авито
Все данные хранятся согласованными в HP Vertica Команды Data Scientists (по 1-2 человека)
занимаются прогнозированием, классификацией, сегментацией и т.п. Data scientists знают SQL и самостоятельно
работаютв хранилище Большинство видов анализа занимает от минут до
2 часов Если анализ требует больше 2 часов – зовут
Platform Team Platform team занимается добавлением данных,
исправлением ошибок и созданием витрин.
![Page 14: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/14.jpg)
Рост вовлеченности пользователей
Самостоятельная работа с данными
Назначение цен на услуги
Прогнозирование трендов
Jan-14 Dec-14 Nov-15
Operating Metric Forecast
Качество контентаСистема искусственного интеллекта для на 80% автоматизированного:
Поиска мошеннических действий Поиска нелегального контента Поиска дубликатов Построения ценовых моделей Обнаружения ботов
Оптимизация рекламы• Отслеживание интересов
пользователей в реальном времени для оптимального подбора рекламных предложений.
![Page 15: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/15.jpg)
Back office
Click stream
BI Team
Antifraud
MDM
CRM
![Page 16: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/16.jpg)
16 Backoffice DB Clickstream
• ~200 млн. Соб/день• Каждые 15 минут
• Все изменения• Каждый час
ClickStream tables~ 30 tables~ 50 bln. of records
Tables of Backoffice~ 300 tables~ up to 1 bln of records
Daily syncLive connection
Analysts
Результаты 2013
4 servers, 11Tb of raw data
![Page 17: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/17.jpg)
17 Backoffice DB Clickstream
• ~600 млн. Соб/день• Каждые 15 минут
• Все изменения• Каждый час
ClickStream tables~ 70 tables~ 150 bln. of records
Tables of Backoffice~ 600 tables~ up to 2 bln of records
Daily syncLive connection
Analysts
Сейчас
12 servers, 51Tb of raw data
![Page 18: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/18.jpg)
Эволюция кластера Авито
Series10
2
4
6
8
10
12
14
16
4
10
15
Размер кластера(сервера)
2013 2014 2015
Series10
10
20
30
40
50
60
11
26
51
Размер кластера
(TB)
2013 2014 2015
Series10
100
200
300
400
500
600
700
800
300
560
740
РазмерClickStream
(млн. Соб/день)
2013 2014 2015
Series10
5
10
15
20
25
3
14
23
Количество интегрирован
ныхсистем
2013 2014 2015
![Page 19: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/19.jpg)
Почему мы можем там быстро расти?
![Page 20: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/20.jpg)
![Page 21: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/21.jpg)
ANCHOR (HUB)
• Anchor – entity, сущность, существительное• Пример – товар, клиент, магазин• Хранит суррогатный ключ (в нашем случае – еще и
бизнес ключ)• Дополнительно хранит систему-источник и дату
загрузки• Не меняется
H_User:-user_id-load_date-source_sys
H_Advert:-advert_id-load_date-source_sys
H_Referer:-shop_id-load_date-source_sys
![Page 22: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/22.jpg)
TIE (LINK)• Tie – связка, глагол• Пример – продажа товара клиенту• Хранит сурр. ключи связываемых сущностей• Дополнительно хранит систему-источник и дату• Может связывать ТОЛЬКО Anchor-ы• SCD 2, actual_date
H_Advert:-adverts_id-load_date-source_sys
H_User:-user_id-load_date-source_sys
T_Controls:-(fk) user_id-(fk) advert_id-actual_date-load_date-source_sys
![Page 23: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/23.jpg)
23
• ATTRIBUTE – свойство, прилагательное• Пример – свойство клиента• Хранит один атрибут и ключ только анкора• Анкор может иметь произвольное количество
атрибутов• SCD 2 , actual_date
ATTRIBUTE (SATTELITE)
S_User_Name:-user_id-name-actual_date
H_User:-customer_id-load_date-source_sys
S_User_INN:-user_id-inn-actual_date S_User_Gender:
-user_id-gender-actual_date
![Page 24: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/24.jpg)
Users
Adverts
Payment
Back office
Clicks
Searches
Device
Cookie
Хранилище Avito - начало
![Page 25: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/25.jpg)
Users
Adverts
Payment
Clicks
Searches
Device
Cookie
Преимущество 1 – автоматизированное расширение
Phone
Bot NetGeo point
Payment system
Is Human
![Page 26: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/26.jpg)
Преимущество 2 – единообразная сегментация
![Page 27: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/27.jpg)
Преимущество 3.1: экономия места
![Page 28: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/28.jpg)
Преимущество 3.2: экономия места
![Page 29: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/29.jpg)
Преимущество 4: шаг наружу
URLRefererUserAgentCookie
URLRefererUserAgent
Cookie
![Page 30: От больших к очень большим данным — зачем нужна нормализация в Big Data / Голов Николай (Авито)](https://reader035.vdocuments.pub/reader035/viewer/2022081505/58a897791a28ab68208b60c9/html5/thumbnails/30.jpg)
• Полуавтоматическое расширение модели• Универсальный подход к выбору
сегментации/сортировки для таблиц• Эффективная логическая компрессия данных• Существующая версия оптимизатора запросов не
умеет генерировать эффективные планы запросов для высоко нормализованной модели. Требуется свой механизм генерации планов.
Преимущества и недостатки нормализации в MPP база данных