Я создаю приложение appEngine на python, которое должно будет выполнять эффективные геопространственные запросы к данным хранилища данных. Пример использования: мне нужно найти первые 20 сообщений в радиусе 10 миль от текущего пользователя. Проведя некоторое исследование моих вариантов, я обнаружил, что в настоящее время кажутся двумя лучшими подходами для достижения этого типа функциональности:
- Индексирование геохешированных данных геоточки с использованием библиотеки Python GeoModel
- Создание/удаление документов со структурированными данными с использованием нового Google SearchAPI
С точки зрения высокого уровня кажется, что индексирование геохэшей и выполнение запросов к ним напрямую будет менее затратным и намного быстрее, чем создание и удаление документа для каждого геопространственного запроса, однако я также читал, что геохэширование может быть очень неточным на протяжении экватору или вдоль «линий разлома», созданных алгоритмом хеширования. Я видел очень мало постов, подробно противопоставляющих лучшие методы, и я думаю, что стек — хорошее место для этого разговора, поэтому мои вопросы заключаются в следующем:
- Кто-нибудь реализовывал аналогичные функции и имел положительный опыт использования любого из методов?
- Какой метод будет более дешевой альтернативой?
- Что было бы более быстрой альтернативой?
- Есть ли еще один важный метод, который я упускаю?
Заранее спасибо.