1

我正在设计一个解决方案,在该解决方案中,Google Cloud SQL将用于存储应用程序常规功能(某种OLTP数据)中的所有数据。预计这些数据会随着时间的推移而变得相当大。数据本身本质上是关系型的,因此我们选择了Cloud SQL而不是Cloud Datastore。如何将Google Cloud SQL与Google Big Query集成

这些数据需要输入Big Query进行分析,这需要接近实时分析(最好的情况),尽管实际上可能会有一些滞后。但我正试图设计一个解决方案,将这种滞后降至最低。

我的问题有三个部分 -

  1. 我应该使用云SQL用于存储数据,然后将其移动至BigQuery或改变基本设计本身和使用的BigQuery用于存储数据的最初呢? BigQuery适用于常规的低延迟OLTP工作负载吗?(我不这么认为 - 我的假设是否正确?)

  2. 将Cloud SQL数据加载到BigQuery中的建议/最佳做法是什么?整合工作接近实时?

  3. Cloud Dataflow是一个不错的选择吗?如果我将Cloud SQL连接到Cloud DataFlow并进一步连接到BigQuery,它会工作吗?或者还有没有其他方法可以达到这个目标?(如问题2所述)?

回答

2

看看WePay如何做到这一点:

的MySQL来GCS操作执行在MySQL 表的SELECT查询。 SELECT拉取所有数据大于(或等于)最后一个高水位。高水位是 表的主键(如果表是只附加的)或修改时间戳 列(如果表接收更新)。同样,SELECT语句 也会及时返回(或多行)以捕获最后查询(由于上述问题)可能丢失的 行。

通过使用Airflow,他们设法使BigQuery每隔15分钟与MySQL数据库保持同步。

+1

谢谢菲利普!它对我很有帮助。 –