Такие компании, как Yahoo, Google, MS, предоставляют услуги геокодирования. Я хотел бы знать, каков наилучший способ организации бэкэнда для таких служб - каково оптимальное решение с точки зрения поставщика базы данных (SQL против NOSQL) и схемы базы данных.
Некоторые провайдеры используют Extensible Address Language (xAL)
для описания объекта в ответе геокодирования. xAL имеет более 30 элементов данных. Google Geocoding API имеет около 20 элементов данных.
Таким образом, в случае базы данных SQL будет 20-30 таблиц, в основном с отношениями один-ко-многим через внешние ключи?
Как насчет баз данных NOSQL, таких как MongoDB. Как организовать такую базу данных? много коллекций для каждого элемента данных, похожих на SQL? Одна коллекция, где каждый документ полностью описывает данную сущность в адресном пространстве?