Системы RTB должны обрабатывать запросы на покупку рекламы за 100 миллисекунд, включая сетевые задержки, разбор запроса и подбор баннеров. DSP требуют гибкой архитектуры, чтобы масштабировать мощности в зависимости от текущего трафика.

Типовая нода биддера оснащена 8 vCPU и 32 ГБ оперативной памяти, из которых около 24 ГБ доступны для данных. Система оперирует каталогом из 500 000 рекламных объектов, распределенных по 20 000 кампаний, каждая из которых содержит списки таргетингов.

Способ хранения данных критически влияет на потребление ресурсов. Хранение списков внутри каждого объекта требует более 1 ТБ памяти, использование ссылок сокращает объем до 42 ГБ, а инвертированные индексы со словарями позволяют уложиться в 1,4 ГБ.

Использование SQL-баз создает узкие места из-за конкуренции за общий ресурс и сетевых задержек. Переход к встроенным хранилищам типа SQLite убирает сетевой оверхед, но усложняет синхронизацию данных. Перебор в памяти дает предсказуемое время отклика, но зависит от размера каталога.

Маскирование позволяет оптимизировать подбор, индексируя таргетинги на уровне кампаний, а не отдельных баннеров. Это исключает необходимость последовательного перебора всех объектов, так как система сразу определяет подходящие кампании по заданным критериям.