AppEngine& BigQuery - 你会在哪里放置统计/监控数据?

时间:2014-09-16 09:37:27

标签: google-app-engine google-bigquery google-cloud-storage google-cloud-datastore

我有一个AppEngine应用程序,可以处理来自Cloud Storage的文件并将它们插入BigQuery中。

因为现在和将来我都想知道应用程序的完整性/性能......我想将统计数据存储在Cloud Datastore或Cloud SQL实例中。

我想问两个问题:

  1. 云数据存储区与云端SQL - 您会使用什么?为什么?到目前为止你遇到了什么缺点?

  2. 您会使用taskdirect call to insert data,还有,为什么? - 你会添加一个任务然后让一些消费者插入数据,或者你会直接插入[无论上面选择的解决方案]。到目前为止你遇到了什么缺点?

  3. 谢谢。

1 个答案:

答案 0 :(得分:3)

  1. 如果您想稍后执行JOIN或SUM,Cloud SQL会更好,如果您要存储大量数据,Cloud Datastore将扩展更多。此外,在数据存储区中,如果要以事务方式更新统计信息实体,则需要进行分片,否则每秒最多只能进行5次更新。

  2. 如果要插入的数据很小(要在BQ中插入一行或在数据存储中插入一个实体),则可以通过直接调用来执行此操作,但您必须接受该调用可能会失败。如果要在发生故障时重试,或者要插入的数据很大并且需要时间,最好在任务中异步运行它。请注意,对于任务,您必须谨慎,因为它们可以多次运行。