Google 用于大数据的 CloudSQL 或 BigQuery 每秒主动更新

Google CloudSQL or BigQuery for Big Data Actively Update Every Second

所以现在我正在使用 Google CloudSQL 来满足我的需要。

我正在从用户活动中收集数据。我的 table 中的行数每天都会增加大约 9-15 百万行,并且总是每秒更新一次。数据包括用户位置(经纬度)、时间戳、用户活动和对话等几个主要参数。

我需要不断地从这些用户活动中获取很多见解,比如 "how many users between latitude-longitude A and latitude-longitude B who use my app per hour since 30 days ago?"。

因为我的 table 每天都在变大,所以很难在我的 table 中管理 select 查询的性能。 (我已经在我的 table 中实现了索引方法,特别是对于最常用的参数)

我所有的数据插入、select、更新等都是从我在 PHP.

中编码的 API 执行的

所以我的问题是,如果我使用 Google BigQuery 来满足我的需要,我可以获得更好的收益吗?

如果是,我该怎么做?因为 Google BigQuery(如果我错了请原谅)设计用于静态数据? (不是一个不断更新的数据)?如何将我的 CloudSQL 数据实时连接到 BigQuery?

哪个更好:在 CloudSQL 中优化我的 table 以最大化 select 进程或使用 BigQuery(如果可能)

我还打开另一个替代方案或建议来优化我的 CloudSQL 性能:)

谢谢

听起来 BigQuery 更适合您的用例。我能想到一个好的解决方案:

  1. 将现有数据从 CloudSQL 迁移到 BigQuery。
  2. 将事件直接流式传输到 BigQuery(使用异步队列)。
  3. 在 BigQuery 中使用时间分区 table。

如果您使用 BigQuery,则无需担心性能或扩展问题。这些都由 Google.

为您处理