gpt4 book ai didi

google-bigquery - BigQuery 联合查询 - 对 Cloud SQL 的性能影响

转载 作者:行者123 更新时间:2023-12-04 08:12:10 25 4
gpt4 key购买 nike

当涉及到这些查询对 Cloud SQL (MySQL) 数据库的影响时,我正在努力寻找有关 BigQuery 中联合查询的内部工作原理的文档。

我看过 here联合查询是只读的,没问题。

我的问题是:联合查询是否就像对数据库的普通查询一样,就好像您使用的是 MySQL Workbench 之类的管理工具一样,或者联合查询是否使用其他一些机制来读取基础表而无需影响数据库的正常性能?例如,如果通过 LOCK TABLE 语句/事务锁定表/行,然后触发联合查询,联合查询是否仍会运行?

我的用例是将数据从 Cloud SQL 增量加载到 BigQuery 数据仓库中。我想尽可能地减少对我的 OLTP 数据库的影响,而不需要创建和维护流式管道的开销。

最佳答案

我无法在 GCP 公共(public)文档中找到有关联合查询内部工作原理的任何详细信息,因此,该机制可能是 secret 的。但是,我已经运行了您在此问题中描述的设置,BigQuery 似乎在 Cloud SQL 实例中执行了正常查询。

我使用 mysql 创建了一个 Cloud SQL 实例,并在 BigQuery 上设置了一个外部连接。如果我执行 [1],我能够从 BigQuery 以及另一个云 Shell 窗口(使用与拥有锁的用户不同的用户)检索结果。

但是,如果我在原始云 Shell 中执行 [2],我无法在 BigQuery 和我的其他云 Shell 实例中检索任何结果(查询一直在等待),直到我执行 [3](我让它运行了 10 多分钟)。

看了 ( 4 ),为了加深我对读锁和写锁的理解,我想说 BigQuery 的行为方式与可以查询 Cloud SQL 实例的其他工具类似。

关于将数据从 Cloud SQL 迁移到 BigQuery 以最大限度地减少对数据库的影响的用例场景,我知道将 csv 文件保存到 Google Cloud Storage 然后创建 BigQuery 传输不适合您的业务场景。另一方面,新的 GCP 产品数据库迁移服务 (5) 不支持将 BigQuery 作为目标。

最后,您可能需要考虑使用管道将数据从 Cloud SQL 流式传输到 Pub/Sub,并最终将该数据插入 BigQuery,因为如果您使用联合查询迁移数据,“BigQuery 不保证数据一致性对于外部数据源。在查询运行时更改基础数据可能会导致意外行为”(6)。

[1]:LOCK TABLES 表名已读;

[2]:LOCK TABLES 表名 WRITE;

[3]:解锁表格;

关于google-bigquery - BigQuery 联合查询 - 对 Cloud SQL 的性能影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65899556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com