Назад | Перейти на главную страницу

Лучший облачный сервис AWS для хранения данных точек на карте

Я недавно начал проект, который потребует хранения данных точек на карте в виде координат. Поэтому я планирую хранить широту и долготу на точку. Я пытаюсь понять, какой сервис хранения данных AWS лучше всего использовать с этим.

В первую очередь мне нужно иметь возможность запрашивать точки в определенной области. Поэтому подавляющее большинство моих запросов будет выглядеть примерно так:

SELECT * FROM Point WHERE Point.Latitude < 40.0072 AND Point.Latitude > 39.9927 AND Point.Longitude < 40.0072 AND Point.Longitude > 39.9927

Потенциально база данных могла иметь миллионы или даже миллиарды очков на нем возможно до нескольких сотен в пределах квадратной мили. Так что масштабируемость очень важна. Поэтому я подумал, что DynamoDB может быть хорошим выбором. Однако, насколько я понимаю, DynamoDB позволяет запрашивать только первичный ключ, а широта и долгота никогда не будут. Похоже, что ограничения DynamoDB не позволяют мне легко запрашивать данные в соответствии с требованиями.

Итак, учитывая эти требования, что было бы хорошим или лучшим вариантом между такими сервисами, как DynamoDB, RDS и ElasticSearch?

Я считаю Amazon RDS для PostgreSQL поддерживает геопространственные данные через PostGIS.

С другой стороны PostGIS намного мощнее, чем нужно вашему примеру. В вашем случае вам могут помочь простые point_latitude и point_longitude столбцы, если вы только планируете <= и >= запросы.

Надеюсь, это поможет :)