Как лучше всего работать с большими наборами данных на сервере разработки приложений Google App Engine? - PullRequest
2 голосов
/ 22 мая 2011

Я занимаюсь разработкой приложения Java с использованием Google App Engine, который зависит от наличия большого набора данных. Не вдаваясь в специфику моего приложения, я просто констатирую, что работать с небольшим подмножеством данных просто не практично. К сожалению, на момент написания этой статьи сервер разработки Google App Engine для Java сохранял все хранилище данных в памяти. По словам Икай Лан :

Заглушка хранилища данных сервера разработки находится в карте памяти, которая сохраняется на диск.

Я просто не могу импортировать весь свой набор данных в хранилище данных разработки без проблем с памятью. Как только приложение помещается в облако Google и использует BigTable, проблем не возникает. Но развертывание в облаке занимает много времени, делая циклы разработки довольно болезненными. Так что развивать этот путь не практично.

Я заметил, что на сервере разработки Google App Engine для Python есть опция для использования SQLite в качестве внутреннего хранилища данных, которое, как я полагаю, решит мою проблему.

dev_appserver.py --use_sqlite

Но сервер разработки Java не имеет такой опции (по крайней мере, не документировано). Каков наилучший способ получить большой набор данных для работы с сервером разработки Java App Engine Google

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

Волшебного решения нет - единственная заглушка хранилища данных для Java API в настоящее время находится в памяти.Если не использовать собственную дисковую заглушку, ваши единственные варианты - найти способ работать с подмножеством данных для тестирования или заняться разработкой в ​​appspot.

0 голосов
/ 17 января 2012

Я использовал API Mapper для импорта данных из хранилища, как описано Ikai Lan в этой записи блога - http://ikaisays.com/2010/08/11/using-the-app-engine-mapper-for-bulk-data-import/.

Я обнаружил, что он намного быстрее и стабильнее, чемиспользование удаленного загрузчика API - особенно при загрузке наборов данных среднего размера (100 000 объектов) в локальное хранилище данных.

...