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

Архитектура

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

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

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

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

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

Тезисы

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

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

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

Занимаюсь разработкой ПО на c++/golang/python. Работал в разных компаниях: Yandex/Mail/2gis/etc

2GIS

2GIS https://ru.wikipedia.org/wiki/2ГИС

Видео