Google Cloud 宣布为其无边界 Lakehouse(borderless Lakehouse)推出两项新功能:跨云缓存(cross-cloud caching)与 BigQuery 跨云连接(cross-cloud connections),目前均处于预览阶段。这两项能力旨在进一步减少跨云查询时的网络传输量,从而降低企业多云分析与 AI 工作负载的总体拥有成本。
此前,Google Cloud 已通过采用 Apache Iceberg REST 目录规范,支持直接联邦查询 Databricks Unity Catalog、AWS Glue 和 Snowflake Horizon 等外部目录,并推出了 Partner Cross-Cloud Interconnect 以建立高带宽私有链路。此次更新在此基础上优化了实际需要跨网络传输的数据规模。
跨云缓存的运作机制
跨云缓存无需用户配置参数或管理额外存储,其核心机制包括以下几点:
- 子文件块粒度:针对 Apache Parquet 等列式格式,BigQuery 仅缓存查询所投射的具体列块与字典页,而非传输整个多 GB 文件。缓存未命中时,系统从远端云获取所需数据并保存本地副本,供后续查询复用。
- 默认静态加密:缓存数据块默认使用 Google 托管加密密钥(GMEK)进行静态加密,安全级别与原生 BigQuery 存储一致。
- 租户与区域隔离:缓存条目严格按项目和目录边界分区。缓存与查询执行均锚定在配置的 Google Cloud 区域内,以支持数据驻留合规要求。
- 新鲜度检查:在使用缓存数据前,BigQuery 会先获取远端对象元数据,确认数据未被修改且用户仍具访问权限。上游表发生变动将触发重新拉取,未引用的缓存块会自动过期。
实际场景中的传输效率
以一个电商团队查询存储在 Amazon S3、大小为 10 TiB 的 Iceberg 销售表为例。该表通过 Databricks Unity Catalog 联邦接入 Lakehouse。
首次执行时,本地缓存为空。BigQuery 通过分区裁剪与列投影,在该 10 TiB 数据集中逻辑处理 214.5 GiB。借助 Zstandard(zstd)列式压缩,实际从 S3 读取的数据量为 24.1 GiB,压缩比约为 8.9:1。这些子文件 Parquet 块到达 Google Cloud 后填充至区域缓存。
当分析师在后续查询中新增一个维度字段时,作业统计显示缓存命中率达到 94.8%,24.1 GiB 已查询列直接从本地缓存提供。系统仅需从 S3 额外传输 1.33 GiB 用于新加入的列与关联表。
根据 Google Cloud 给出的测算假设:若数据压缩比为 8:1,且 80% 的物理数据能够命中缓存,则每处理 1 TiB 逻辑数据,实际跨网络传输量约为 26 GiB,不足总处理量的 3%。结合 Partner Cross-Cloud Interconnect,这一降幅可使 PB 级跨云分析具备成本可行性。
BigQuery 跨云连接预览
同步进入预览的 BigQuery 跨云连接允许组织直接连接 Amazon S3 和 Azure Storage 中的开放格式数据。两种访问路径的适用场景区分如下:
- 跨云连接:适用于未纳入 Iceberg 目录管理的独立文件(如 CSV、JSON、临时 Parquet 文件),可直接创建引用远端存储桶路径的 BigQuery 外部表。
- Lakehouse 目录联邦:适用于由 Databricks Unity、AWS Glue 或 Snowflake Horizon 等目录管理的 Iceberg 数据,系统自动同步 Schema 与表快照。
跨云连接使用位于 Google Cloud 区域的标准 BigQuery 计算节点,而非在其他云上部署计算资源,从而提供完整的 BigQuery 功能对等性,包括对远端文件使用 BigQuery AI 与 Gemini。跨云缓存能力同样适用于通过跨云连接查询的数据。

