Доменно специфичные базы данных и рассылка Aviasales / Борис Каплуновский (Aviasales)

170
Онтико84.4 тыс
Опубликовано 22 апреля 2017, 19:21
Приглашаем на конференцию HighLoad++ 2024, которая пройдет 2 и 3 декабря в Москве!
Программа, подробности и билеты по ссылке: clck.ru/3DD4yb
--------
HighLoad++ 2014

Презентация и тезисы:
highload.ru/2014/abstracts/158...

Я расскажу о том как создать базу данных под задачу не решающуюся средствами SQL и как не влипнуть в велосипедостроение и долгострой :) Решение о котором я расскажу было разработано и вышло в продакшн за пару месяцев и окупилось ещё за пару месяцев.

Описание проблемы
1. Нужно отослать пользователю уведомление о том, что появились билеты, соответствующие его параметрам.
2. У Aviasales очередь с результатами поисков, и каждый совершённый поиск авиабилетов добавляет в эту очередь json-документ размером 200-800 Кб, который содержит тысячи билетов и довольно сложно структурирован.
3. В базе подписок - миллионы записей, при этом одна подписка состоит из нескольких предикатов.
...
жизньигрыфильмывесельеавтотехномузыкаспортедаденьгистройкаохотаогородзнанияздоровьекреативдетское