Последнюю позицию водителя и историю маршрута лучше разделить. Для поиска ближайших нужен геоиндекс, для истории — хранилище последовательных событий с ограниченным сроком хранения.
Архитектура сервиса для сохранения координат водителей такси. Какая БД нужна, нужно ли что-то кроме БД?
Последнюю позицию водителя и историю маршрута лучше разделить. Для поиска ближайших нужен геоиндекс, для истории — хранилище последовательных событий с ограниченным сроком хранения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Последнюю позицию водителя и историю маршрута лучше разделить. Для поиска ближайших нужен геоиндекс, для истории — хранилище последовательных событий с ограниченным сроком хранения.
Клиент отправляет driver ID, координаты, точность и время измерения. Приёмный сервис проверяет данные, а очередь сглаживает пики и отделяет запись истории. В хранилище текущего состояния отвергают устаревшие обновления и учитывают TTL доступности. Выбор Redis GEO, PostGIS или иной БД зависит от геозапросов, объёма и требований к надёжности.