2011-03-16 1 views
2

У меня есть большинство моих «динамических» данных приложений, хранящихся в хранилище данных.Использование Java в Google App Engine, что является лучшим способом хранения и доступа к большим статическим данным?

Однако у меня также есть большая коллекция статических данных, которые будут меняться только с помощью новых сборок приложения. Ряд плоских файлов кажется, что это может быть проще, чем управлять им в хранилище данных.

Существуют ли стандартные решения? Как насчет того, чтобы библиотеки быстро и легко загружали/разбирали этот контент? Имеет ли смысл толковать эти данные в хранилище данных? Что будет лучше?

У кого-нибудь еще есть эта проблема и есть истории о войне, с которыми они могут поделиться?

+0

Ваш вопрос здесь, возможно, нуждается в уточнении. На самом деле тезисы статические данные? Как они действительно меняются от сборки до сборки? Каков обычный/естественный формат для их хранения? –

+0

Знаете ли вы лимит на общий размер приложения и статические файлы? См. Http://code.google.com/appengine/docs/java/runtime.html#Quotas_and_Limits. Вы также рассматривали использование BlobStore для хранения статических данных? –

+0

Hi Nicolas + Peter: статические данные будут составлять около 100-1000 строк в электронной таблице, содержащей около 10 столбцов. Запросов на эти данные не будет, мне нужно будет обращаться к строкам по id. Делает ли это продвижение в Blobstore и из него более разумным, чем сказать, экспортируя каждую строку в виде файла xml/json с именем id? Разбирает ли blob, размер которого может иметь последствия для производительности и стоимости, когда мне может потребоваться доступ только к нескольким строкам за раз? –

ответ

0

Все зависит от того, как вам нужно использовать информацию.

У меня, например, есть приложение, которое должно иметь начальное состояние, предоставленное из статических данных. Поскольку я хотел, чтобы эти статические данные были легко подготовлены вне приложения, я помещал данные в виде электронных таблиц в Документы Google, а затем у меня есть административная функция в моем веб-приложении, чтобы загрузить начальное состояние через API таблиц Google Docs к объектам в хранилище данных. Он работает достаточно хорошо, хотя есть некоторые проблемы с надежностью, которые я еще не совсем разработал (мне иногда нужно перезапустить процесс).

В других случаях вам может потребоваться просто указать данные как статические свойства/файлы xml и загрузить их через стандартные API-интерфейсы Java (getResourceAsStream и т. Д.). Я не пробовал этот подход, хотя, поскольку это не имело смысла в моей конкретной ситуации.

Смежные вопросы