【发布时间】:2018-12-05 15:07:48
【问题描述】:
在用 python 测试和开发了一些 Google Dataflow 模板几天后,我在质疑自己是否适合使用 BigQuery。
为什么会有这种想法?
-
BigQuery 专注于在线分析处理 (OLAP) BigQuery 可能不像在线事务处理 (OLTP) 最好的选择。
即使知道这一点,我还是决定使用 BQ,因为它与 Google Dataflow 的兼容性更好。
-
在开发了 Python 数据流模板的第一个版本并尝试使用一些数据后,效果很好。使用此管道的流式处理或批处理执行我没有任何特殊问题。
当我尝试使用像 OLTP 这样的 BQ 时,问题就开始了。由于我的用例,在这里我发现了一些问题:在某些情况下,我不能使用批量更新,我必须使用单行突变,所以我必须使用 DML 语句来执行此任务。结果是执行时间开始随着数百个单行突变而显着增加。
- 即使我假设时间会增加,我发现在 BQ 中,每天每个表只能使用 1,000 次更新。 (更多quotes)
替代品
我不确定应该使用哪些其他服务来代替 BigQuery:
Cloud SQL 是 Google 的 OLTP 数据库。这可能适合我的用例,但是:如果我尝试分析数据,Cloud SQL 的工作速度是否与 BQ 一样快?我将拥有许多具有数百万行的表,例如,由于处理时间长,使用 Microsfot Sql Server 对我来说是不够的。
Cloud SQL 如何与 apache 梁和管道一起工作?
使用 Cloud SQL 并每天将数据迁移到 BigQuery 以避免在 BQ 中发生单行突变?
在这种情况下,哪种服务最适合使用?
【问题讨论】:
标签: google-bigquery google-cloud-dataflow google-cloud-sql