【问题标题】:Android app using Google cloud Endpoints: Datastore vs SQL使用 Google Cloud Endpoints 的 Android 应用程序:Datastore 与 SQL
【发布时间】:2014-01-25 14:47:15
【问题描述】:

我想开发一个新的 Android 应用程序,我想知道要使用的架构。 我的想法是在 Google App Engine 上托管我的应用,使用 Google Cloud Endpoints 作为后端。 唯一的问题是 Google Cloud Endpoints 使用 Google Datastore(这是一个非关系数据库,而我想使用关系数据库)。

所以我的问题是:

-是否有可能使用 Google Cloud SQL 更改 Google Cloud Endpoints 的逻辑?

-如果没有,是否有可能以关系方式使用 Google Datastore(在表之间进行引用)?

谢谢。

【问题讨论】:

    标签: android google-app-engine google-cloud-endpoints google-cloud-datastore google-cloud-sql


    【解决方案1】:

    是否有可能更改 Google Cloud Endpoints 的逻辑 使用 Google Cloud SQL 吗?

    Google Cloud Endpoints 的目的是让您能够为自己的应用开发 REST API。 REST 方法实现中的内容完全由您选择。您可以调用 Google Data Store、Google Cloud SQL、调用 MemCache、调用其他服务,随心所欲。 Cloud Endpoints 不会强迫您使用任何东西。它的主要目的是 RESTful 处理通信。就是这样。

    如果没有,是否有可能在 关系方式(表之间有引用)?

    如果这就是你想要的,实体引用是使用 Google 数据存储中的Keys 管理的。但这并不意味着它是相关的。例如,如果您删除其他实体(如 RDMS 通常会这样做)引用的实体,它不会抱怨。

    【讨论】:

    • 谢谢@M.Sameer;但是你能推荐我一些指南来展示如何将 Google Sql 与 Endpoints 一起使用吗?我对此一无所知(端点使用数据存储作为默认设置)。关于第二个问题,两个表之间可以使用外键吗?
    • Endpoints 不使用任何东西作为默认设置.. 如果您正在谈论 Eclipse 插件生成的内容.. 将其视为一个示例并删除它.. 我这样做是因为我使用 Objectify 而不是 JPA或 JDO,它工作正常.. 我没有使用 Cloud SQL,但它肯定与 Endpoints 无关。
    • 在数据存储中,任何实体都必须有一个唯一的密钥。此键用于在其他实体中引用此实体。它类似于关系数据库中的 FK,但与我在答案中提到的示例不完全相同,另一个示例是您不能制作复合键。您应该阅读有关数据存储的更多信息并将其与云 sql 进行比较,以了解最适合您的方式。另外不要忘记比较他们的计费政策。
    • 完美;我将尝试使用 Cloud SQL,更改自动程序生成的代码(而不是使用密钥)。谢谢@M.Sameer;如果我有一些问题,我会写信。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 2015-09-04
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多