Как эволюционировала доставка данных для рекламного движка Яндекса: снижаем задержки от часов к минутам

Архитектура

C/C++
Бэкенд / другое
Организация системы кеширования
Оптимизация
Обработка данных

Доклад принят в программу конференции

Мнение Программного комитета о докладе

На примере доставки данных в рекламный движок Яндекса вы узнаете, на каких принципах и технологиях строятся действительно большие проекты. Докладчик покажет, как использование специальных бинарных форматов данных помогает достигать высокой производительности на огромных размерах сложных данных.

Целевая аудитория

Доклад будет особенно интересен разработчикам, которые работают с крупными рекомендательными системами. Задача сбора и быстрой доставки большого объема данных из разнородных источников является характерной для систем такого рода. Также в докладе описано несколько интересных обособленных технических решений, которые будут полезны всем разработчикам высоконагруженных систем.

Тезисы

Рекламная система Яндекса обрабатывает сотни тысяч запросов в секунду. Для этого ей требуются терабайты данных: информация о партнерских площадках, рекламных кампаниях и стратегиях, баннерах и многое другое. Все эти данные поступают из разных систем в разных форматах и имеют различные требования к скорости доставки обновлений.

Предоставить эффективный доступ к этим данным даже с часовыми задержками - не самая тривиальная задача. Долгие годы для этого использовались бинарные индексы, которые строились в долгих MapReduce-операциях и доставлялись непосредственно к движку.

Однако в современном мире такие задержки считаются непозволительно долгими: страдает качество отбора рекламы из-за долгой доставки обновлений от моделей машинного обучения, пользователи не любят часами ждать, когда их новый товар или обновление заголовка рекламного баннера появится в рекламной выдаче. Поэтому очевидно, что отлаженные за годы подходы к доставке данных требуют модернизации.

В ходе доклада расскажу о том, как изменить формат данных так, чтобы не страдать от постоянных перекладываний полей, покажу наш новый индекс, который предоставляет возможность быстро доставлять обновления до движков. Также расскажу, как мы добавили гибкости системе: со стороны поставщиков данных необходимо одновременно поддерживать обработку потока обновлений и одномоментную загрузку полного набора данных, а со стороны рантайма нужно совмещать разнородные паттерны доступа к данным, объем которых варьируется от сотен мегабайт до десятков терабайт.

Разрабатывает инфраструктуру сервисов доставки данных для рекламного движка в Яндексе.

Яндекс

Яндекс — технологическая компания, которая создает инновационные продукты на основе машинного обучения и нейронных сетей. Команда талантливых математиков и программистов развивает самую популярную в России поисковую систему и более 85 пользовательских сервисов, которые помогают людям в повседневных заботах.

Видео

Другие доклады секции

Архитектура