2011-03-05 92 views
4

我一直在读一点谷歌的AppEngine,提供应用程序托管。我一直在尝试,因为它看起来很有趣,但我对数据库部分有点担心。谷歌AppEngine数据库

说我正在本地开发我的Java应用程序。我不想在每次更改代码时都部署到Google,因此我在开发计算机上安装了一个很好的小Servlet容器,以便轻松测试。使用AppEngine,您可以使用他们的数据存储API存储事物,这基本上可以让您使用Java对象为您的数据建模 - 这很好。

但是,好像这些数据嵌入了应用程序代码本身(在部署到Google的.war中)。我可以简单地在本地使用他们的数据存储区API吗?它将如何存储在我的本地机器上?这一切都是由他们处理的,所以我只需要担心使用数据存储区API,当我将其部署到Google时,数据将以与存储在本地计算机上的方式不同的方式进行存储。

我只是有点困惑,因为我习惯于让数据部分分层出我的应用程序代码。

我希望我很清楚。谢谢。

回答

3

发展数据存储和生产数据存储是两个不同的,分离的东西:

开发数据存储是tipically命名local_db.bin这只是有用的存储在您的测试环境中的数据的文件数据存储基础;在部署应用程序时,数据不会复制到生产环境。
这种类型的数据存储只能用于相当少量的实体,其性能与基于Big Table的功能强大的Production数据存储无关。

您只需使用数据存储API即可在您的代码和底层数据存储之间创建抽象级别;在测试中,您的数据将存储在本地数据存储区文件中,在生产过程中,创建的数据将被保存到Google App Engine数据存储区,并具有所暗示的所有功能和限制。

+0

如果我需要导入大量的遗留数据,该怎么办?说1千兆字节?这可能与AppEngine的数据存储设施有关吗? – 2011-03-05 13:22:59

+0

我认为这种进口是可能的组织在不同的步骤。查看[批量上传器](http://code.google.com/intl/it/appengine/docs/python/tools/uploadingdata.html#Downloading_and_Uploading_All_Data)工具。 – systempuntoout 2011-03-05 14:28:33

+0

我有相关的问题:http://stackoverflow.com/questions/30441749/dont-see-updated-datastore-with-entities-even-the-debuging-the-code-passes-succ?noredirect=1 #comment48987732_30441749 – 2015-05-26 12:36:25