Как поменять ссылку у миллиона баннеров и не сломать сервис
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
В интерфейсах рекламных систем пользователи часто хотят выполнять массовые операции: заменить домен в ссылках у всех баннеров, поменять UTM-метки, обновить параметры кампаний, отключить группу объектов. На уровне UX это выглядит как одна простая операция. На уровне backend и базы данных — это потенциально изменение тысяч или миллионов объектов, длительная транзакция, бизнес-валидация каждого объекта, конфликты с параллельными изменениями и риск упасть на середине.
В докладе расскажем, почему классический UPDATE ... WHERE ... плохо подходит для таких сценариев, почему простая асинхронная загрузка тоже не всегда решает проблему, и как мы пришли к модели «резиновых транзакций»: сохраняем не результат изменения, а описание операции — множество объектов, преобразование и правила применения. Дальше система выполняет операцию небольшими батчами, умеет переживать падение любого узла, вызывает существующую бизнес-логику для валидации и разрешает конфликты через снапшотинг и пропуск измененных объектов.
Доклад будет полезен тем, кто проектирует системы с массовыми пользовательскими операциями, сложной доменной валидацией и требованиями к надежности без долгих блокирующих транзакций.
В разработке с 2006 года.
Имеет широкий опыт в разработке и эксплуатации высоконагруженных сервисов.
Сейчас отвечает за ядро стриминговых процессингов в Рекламных технологиях Яндекса.
Видео
Другие доклады секции
Базы данных и системы хранения