【问题标题】:Optimizing multiple calls to Datastore (Joining multiple entities?)优化对 Datastore 的多次调用(加入多个实体?)
【发布时间】:2020-08-21 01:46:34
【问题描述】:

目前我们的系统是以非常特别的方式设计的。在某些情况下,我们将数据存储实体设计为

NameSpace: ProjectName

Kind: <SpecificUseCaseLikeSQLTables>

在某些情况下,我们已经定义了我们的实体,例如

Namespace: <SomeKeyWhichUniquelyDefineAnObject>

Kind: SpecificUseCaseLikeSQLTables


现在,我们的情况是,用户的单个呼叫需要大约 10 秒才能响应。我正在研究那个函数,看起来我们最终会为一个特定的用例获取多个实体。现在我想看看有多少调用只能获取一次(即,如果这些实体没有变化,这些实体应该被传递给嵌套函数,而不是再次被获取)。但除此之外,我在想的一件事是,有一种方法可以让我只向数据存储区发出一个查询,以从多个命名空间/种类中获取数据(如上所述)。

我在问,用外行的话来说,Datastore 中有joins 的概念吗?还是它的替代品?

【问题讨论】:

  • 您是通过键还是通过查询获取数据?如果您通过键获取实体,您可以使用 [GetMulti][1] 函数并行获取多个实体。 [1]:pkg.go.dev/cloud.google.com/go/…

标签: go google-cloud-datastore


【解决方案1】:

GAE 不支持联接。您可以查看以下文档(http://code.google.com/appengine/docs/java/datastore/jdo/relationships.html)。

如果您正在寻找 RDBMS 风格的数据库,您可以尝试使用 Cloud SQL (https://developers.google.com/cloud-sql/docs/introduction)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多