Google app engine 阿彭金公司;BigQuery-您将统计/监控数据放在哪里?

Google app engine 阿彭金公司;BigQuery-您将统计/监控数据放在哪里?,google-app-engine,google-bigquery,google-cloud-storage,google-cloud-datastore,Google App Engine,Google Bigquery,Google Cloud Storage,Google Cloud Datastore,我有一个AppEngine应用程序,它处理来自云存储的文件并将它们插入BigQuery 因为现在和将来我都想知道应用程序的健全性/性能。。。我想将统计数据存储在云数据存储或云SQL实例中 我想问两个问题: 云数据存储vs云SQL-您会使用什么,为什么?到目前为止,你经历了哪些不利因素 您是否会使用任务或直接调用来插入数据,以及为什么您是添加一个任务,然后让一些使用者插入数据,还是直接插入[不管上面选择的解决方案如何]。到目前为止,你经历了哪些不利因素 多谢各位 如果您希望稍后执行联接或求和,则云

我有一个AppEngine应用程序,它处理来自云存储的文件并将它们插入BigQuery

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

我想问两个问题:

  • 云数据存储vs云SQL-您会使用什么,为什么?到目前为止,你经历了哪些不利因素

  • 您是否会使用
    任务
    直接调用来插入数据
    ,以及为什么您是添加一个任务,然后让一些使用者插入数据,还是直接插入[不管上面选择的解决方案如何]。到目前为止,你经历了哪些不利因素

  • 多谢各位

  • 如果您希望稍后执行联接或求和,则云SQL更好,如果您有大量数据要存储,则云数据存储将扩展得更多。此外,在数据存储中,如果要以事务方式更新stats实体,则需要进行切分,否则每秒只能更新5次

  • 如果要插入的数据很小(在BQ中插入一行或在数据存储中插入一个实体),则可以通过直接调用来完成,但必须接受调用可能会失败。如果您想在失败的情况下重试,或者如果要插入的数据很大并且需要时间,那么最好在任务中异步运行它。请注意,对于任务,您必须谨慎,因为它们可以多次运行


  • 我想补充一点,如果您只是记录统计数据和监视数据,这是bigquery流式插入的一个很好的用例。@JordanTigani是对的,假设您有很多数据。我想说的是,决定移动到大查询的阈值大约是1TB/1G行,您怎么说呢?大查询的设计是大小不变的。除非您需要非常快速(亚秒)的查询,否则使用更小的数据量是完全合理的。如果只附加数据,如日志、统计数据或监控数据,则尤其如此。许多biquery客户使用更小的数据集,发现bigquery几乎可以免费使用。@JordanTigani在这些小数据集上查询的响应时间是多少?当涉及到我们的(即)项目时,BQ仍然太慢,无法与其他解决方案竞争,例如,看看bime:这太慢了,我们公司无法接受所有装载机持续10秒。我们现在正在跟踪许多性能问题,主要是由于使用量的增长。前几天我测试的一个示例查询在web UI中花费了16秒。好消息是,查询引擎只花了0.8秒,其余的时间都花在队列和其他工作上。这是个好消息,因为我们应该能够显著减少这一时间。