
Google Cloud 增强跨云湖仓缓存与连接

Google Cloud 宣布增强其 borderless Lakehouse 跨云数据查询能力,核心是两项新功能:跨云缓存(cross-cloud caching)预览版,以及 BigQuery 跨云连接(cross-cloud connections)预览版。目标是降低跨云查询数据的传输成本,让数据工程师、数据科学家和 AI agent 能直接在数据所在位置查询受治理的数据。
企业数据通常分散在 Amazon S3、Azure Data Lake Storage、Google Cloud Storage 以及 Salesforce、SAP 等 SaaS 平台。传统做法依赖脆弱的 ETL 管道和重复存储,跨云数据传输费用高昂。borderless Lakehouse 通过采用 Apache Iceberg REST catalog 规范,直接联邦到 Databricks Unity Catalog、AWS Glue、Snowflake Horizon 等目录,并借助 Partner Cross-Cloud Interconnect 建立云间私有高带宽链路,降低每 GB 传输成本。这次的新功能进一步减少需要跨网传输的数据量。
跨云缓存的核心机制是子文件块粒度。对于 Parquet 等列式格式,当查询只涉及部分列时,不再传输整个数 GB 的文件,而是只缓存查询命中的列块和字典页。首次查询冷启动时从远端云拉取所需字节,之后重复查询直接命中本地缓存。缓存数据默认使用 Google 管理的加密密钥(GMEK)静态加密,并按项目和目录边界严格隔离,同时将缓存和查询执行固定在配置的 Google Cloud 区域(如 us-east4),满足区域数据驻留合规要求。为避免脏读,BigQuery 会先获取远端对象元数据,确认数据未变化且用户仍有权限,再使用缓存;上游表变更时自动拉取新文件,未引用的缓存块自动过期。
文中给出了一个具体示例:查询位于 Amazon S3 的 10 TiB Iceberg 销售表,初始冷查询时,BigQuery 通过分区裁剪和列投影只传输需要的 Parquet 字节范围,逻辑处理数据 214.5 GiB,经 Iceberg 的 Zstandard 压缩后实际从 S3 读取 24.1 GiB(压缩比 8.9:1)。后续查询增加一个维度时,缓存命中率达 94.8%,只从 S3 传输新增列的 1.33 GiB。综合压缩比(假设 8:1)和缓存命中率(假设 80%),每处理 1 TiB 数据只需跨网传输约 26 GiB,即不到 3% 的数据量。配合 Partner Cross-Cloud Interconnect,可让跨云分析和 AI 在 PB 级规模下具备成本可行性。
BigQuery 跨云连接则面向没有 Iceberg catalog 的独立文件(CSV、JSON、临时 Parquet),可直接在 BigQuery 中创建外部表引用远程存储桶路径。与 Lakehouse catalog 联邦的区别在于:后者用于 Iceberg 数据,自动同步 schema 和表快照;前者使用 Google Cloud 区域的 BigQuery 标准计算节点,支持全局区域可用性和完整 BigQuery 功能(包括 BigQuery AI 和 Gemini)。跨云缓存同时适用于两种方式。


