А давайте построим систему индексации данных: с чего начать, на какие грабли наступить, и к чему прийти, чтобы она заработала

Архитектура

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

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

Перед инженерами 2ГИС стояла задача драматически - с часов до минут - сократить время обновления поискового индекса. В своем докладе они поделятся тем, как справились с этой задачей, а еще сделали свою систему устойчивой к отказу любого из компонентов.

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

Backend-инженеры, QA, архитекторы.

Тезисы

В 2ГИС поисковые данные обновляются довольно часто — особо активные сегменты могут обновляться раз в 10 минут. Насколько быстро эти данные начнет использовать поисковый движок, настолько свежие данные увидит пользователь. Поэтому основная задача — быстро доставить свежие данные до пользователя.

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

Я расскажу, как построить систему, которая в реальном времени обновляет данные и позволяет работать с разными версиями данных.

Занимается разработкой ПО на C++/Golang/Python. Работал в разных компаниях: Yandex, Mail, 2GIS, etc.

Видео

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

Архитектура