谷歌 AppEngine 数据库

Posted

技术标签:

【中文标题】谷歌 AppEngine 数据库【英文标题】:Google AppEngine database 【发布时间】:2011-03-05 12:47:05 【问题描述】:

我已经阅读了一些关于提供应用程序托管的 Google AppEngine。我一直在尝试它,因为我认为它看起来很有趣,但我有点担心数据库部分。

假设我正在本地开发我的 Java 应用程序。我不想每次更改代码时都部署到 Google,所以我在我的开发机器上设置了一个漂亮的小 Servlet 容器来轻松测试。使用 AppEngine,您可以使用他们的数据存储 API 来存储东西,这基本上可以让您使用 Java 对象对数据进行建模——这很好。

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

我只是有点困惑,因为我习惯于将数据部分分层放置在我的应用程序代码之外。

我希望我已经足够清楚了。谢谢。

【问题讨论】:

【参考方案1】:

开发数据存储和生产数据存储是两个不同的独立事物:

开发数据存储通常是一个名为local_db.bin 的基于文件的数据存储,它仅用于将数据存储在测试环境中;部署应用程序时,数据不会复制到生产环境。 这种数据存储旨在与相当少量的实体一起使用,其性能与基于Big Table 的强大的生产数据存储野兽无关。

您需要做的就是使用 Datastore API 在您的代码和底层数据存储之间创建一个抽象级别;在测试中,您的数据将存储在本地数据存储文件中,在生产中,创建的数据将保存到 Google App Engine 数据存储中,并具有这意味着的所有功能和限制。

【讨论】:

如果我需要导入大量遗留数据怎么办。说 1 GB?这可以通过 AppEngine 的数据存储设施实现吗? 我认为这种导入可以按不同的步骤进行组织。看看bulk uploader 设施。 我有相关问题:***.com/questions/30441749/…

以上是关于谷歌 AppEngine 数据库的主要内容,如果未能解决你的问题,请参考以下文章

谷歌的AppEngine数据存储的选择吗?

在谷歌应用引擎中将数据流式传输到 bigquery - java

将数据从谷歌数据存储复制到 CSV

在 bigquery 中创建数据集时,谷歌 App 引擎出错

谷歌发布订阅。从 AppEngine 到 Kubernetes pod 以及从一个 Kubernetes pod 到另一个 Kubernetes pod 的通信

是否可以为 appengine 数据存储实体获取 Google 电子表格的数据源 URL?