Я пытаюсь внедрить движок карты в Google App Engine.Как реализовать эффективный движок плитки карты в Google App Engine?
Данные карты хранятся в базе данных, хранилище данных (большая таблица). Проблема состоит в том, что 20 запросов могут появиться примерно в то же время, чтобы нарисовать 20 плиток на основе того же набора строк в базе данных.
Так поступают 20 запросов, если я напишу код для чтения из базы данных для каждого запроса, тогда я буду делать 20 считываний, которые являются одинаковыми, из базы данных, по одному для каждого вывода изображения. Поскольку каждое чтение является одним и тем же запросом, не имеет смысла делать один и тот же запрос 20 раз. На самом деле это очень неэффективно.
Может ли кто-нибудь предложить лучший способ сделать это?
Если я использую memcache, мне нужно поместить данные в memcache, но в то же время для данных поступает 20 запросов, то если я сделаю реализацию nieve, тогда 20 процессов будут записывать в memcache, так как они все одновременно идут параллельно.
Я программирую в бета-версии Google Go версии 1 на Google App Engine, я имею в виду документ Python здесь, так как они более полные.
Ссылки:
Google Datastore http://code.google.com/appengine/docs/python/datastore/overview.html
листовка JS Я использую для показа фрагментов карты http://leaflet.cloudmade.com/
уточнить.
Я генерирую изображения черепицы из данных в базе данных, то есть я запрашиваю базу данных для данных (это не изображение плитки), затем я рисую данные в изображение и отображаю изображение как JPEG. Как GAE эффективен для нанесения изображений на стороне сервера http://blog.golang.org/2011/12/from-zero-to-go-launching-on-google.html
Я генерирую изображения черепицы из данных в базе данных, то есть я запрашиваю базу данных для данных, затем я рисую данные в изображение и отображаю изображение как JPEG. Поскольку GAE эффективен для рисования изображений на стороне сервера http://blog.golang.org/2011/12/from-zero-to-go-launching-on-google.html – Phil
@Phil Я думаю, что PNG даст вам лучшие результаты (качество/сжатие) для данных изображения карты. –
@Phil Также было бы лучше загрузить клиентскую сторону изображений? Так поступают все сервисы карт (Google/Bing/Quest). –