Я разрабатываю приложение, в котором есть функция, которая позволяет пользователю хранить данные на основе геолокации, а затем разрешать другим пользователям запрашивать те данные, которые попадают в заданный радиус их текущей геолокации.
Вопрос в том, как лучше всего спроектировать таблицу так, чтобы она была масштабируемой и имела высокую производительность? Я думал о таблице, содержащей широту в качестве ключа раздела (pk
), долготу в качестве ключа строки (rk
), затем столбец dataid
, который сопоставляется с другой таблицей, которая использует этот dataid
в качестве ключа раздела.
Я думаю, что использование двустороннего поиска повысит мою производительность, поскольку оба поиска будут мгновенными. Это правильный образ мыслей? Я где-то читал, что искать ключи разделов, попадающие в какой-то диапазон, плохо. Если это так, как мне подойти к этому? Как обычно реализуются эти функции в картах Google и наборе карт Apple?