У меня есть приложение Ridesharing, созданное на базе данных реального времени. Как и многие приложения, он отслеживает местоположения пользователей и использует их вместе с местоположениями других пользователей. Исследования масштабирования показывают, что более 200 тыс. Соединений с RDMS мне нужно запланировать для реализации концепции под названием «Sharding».
1) Полагаю, первое, о чем я подумал - это регионы, но вы, вероятно, думали так же, как и я: с регионами границы создают разъединение для пользователей, находящихся рядом с ними.
2) Второе, о чем я подумал, это перенести наши операции с данными в Firestore. Я читал, что Firestore НЕ рекомендуется Google для приложений определения местоположения, хотя Geofire (который мы используем и добились хороших результатов, FYI) был расширен до Firestore предположительно с GeoFirestore. Даже у Firestore есть ограничение (хотя в 1 000 000, что позволило бы регионы в большинстве мест, и, возможно, я мог бы удвоить количество пользователей границ).
В данный момент я ломаю голову над такими проблемами, как люди в больших городах ... Я искал ТАК безрезультатно для этой проблемы (это было здорово для многих других, поэтому придерживайтесь его ТАК последователи), но моя интуиция говорит мне, что колесо уже было изобретено для этого, поэтому я обращаюсь к вам за некоторыми идеями для более элегантного решения, чем регионы.
Редактировать: Короче, как я могу держать всех с радиусом вокруг себя, охватывающим всех в их радиусе?
Любой совет приветствуется. Спасибо.