如何 "aggregate" DataStore 上的实体

How to "aggregate" entities on DataStore

我了解 "joins" 和 "aggregate" 查询在 Cloud Datastore 查询引擎中不受支持。

但是,如果我必须这样做 "aggregate",如何聚合实体?

哪种方式更好?或者有什么更好的方式?

不需要实时数据

如果您不需要实时数据,请定期 exports 从 Cloud Datastore 到 BigQuery:

gcloud datastore export --kinds="myKind" gs://${BUCKET}

有人甚至做了 shell script 来帮助将一种导出到 GCS,然后导入到 BigQuery。

需要实时数据

这里要研究的一件事是使用 projections。投影查询更快更便宜,因为您可以告诉 Datastore 只需 return 您只是要聚合的 属性,它会将其从索引中流出。

如果您有更大的数据集,Dataflow 可以派上用场。