Я недавно начал проект, который потребует хранения данных точек на карте в виде координат. Поэтому я планирую хранить широту и долготу за точку. Я пытаюсь выяснить, какой сервис 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?