AlloyDB 中的湖仓一体联邦概览

本页介绍了 AlloyDB for PostgreSQL 中的 Lakehouse Federation,这是一种统一的数据管理解决方案,可扩展 AlloyDB 的查询功能。借助此集成,您可以无缝查询各种 BigQuery 资源,包括:

借助 Lakehouse Federation,您可以使用 AlloyDB 的查询引擎,通过同一界面为应用的事务型和分析型工作负载提供支持。您还可以在 AlloyDB 上实现或导入这些数据,以便在应用中更快地访问这些数据,从而使用 AlloyDB AI列式引擎

借助 AlloyDB 的 Lakehouse Federation,您可以将 BigQuery 或 Iceberg 中的数据加载并转换到 AlloyDB 中,以支持您的运营应用,或将历史数据与实时事务数据联接起来。此使用情形支持统一分析,并可在应用情境中全面了解您的业务。

您可以将 AlloyDB 用作事务型数据库,也可以在 BigQuery 或 BigLake 中存储大量数据。您的应用通常会与这两个系统分别独立集成,以访问这些不同 Google Cloud服务中的数据。借助 Lakehouse Federation,您可以使用 AlloyDB 的联合查询支持(以外部数据封装容器的形式实现),通过 AlloyDB 中的 SQL 接口访问 BigQuery 和 AlloyDB 数据。

下推式

您可以使用过滤和汇总下推技术,通过在 BigQuery 中过滤或汇总数据,然后再将数据移动到 AlloyDB 或由 AlloyDB 处理,从而加快查询速度并降低费用。此方法可最大限度减少网络流量和内存用量,让您能够快速高效地分析海量数据集,而不会超出资源限制。

过滤下推

过滤条件推送(也称为谓词推送)是一种优化技术,可将数据过滤尽可能靠近存储层。数据库不会将大型表读入内存,然后舍弃不需要的行,而是将过滤条件(使用 WHERE 子句)“下推”到初始数据扫描中。

借助过滤下推,您可以使用带有 WHERE 子句的 SQL 查询来访问远程表中的部分数据。此数据也可以在本地表中具体化,或作为本地分区附加到 PostgreSQL 表中。

支持的过滤条件

如果以下比较和算术运算出现在 PostgreSQL 查询的过滤 (WHERE) 子句中的表达式中,则会使用 BigQuery API 将它们下推到 BigQuery:

比较运算符

=><>=<=<>~~!~~

算术运算符

+-*/

汇总下推

聚合下推是一种高级数据库优化技术,可尽可能在存储层附近执行计算(例如 SUMCOUNTAVGGROUP BY)。过滤下推会移除不需要的行,而聚合下推会在数据库引擎进一步处理所需的行之前对其进行汇总。

支持的聚合

如果聚合函数适用于支持的数据类型,则会使用 BigQuery API 将其下推到 BigQuery:

  • SUM
  • AVG
  • MIN
  • MAX
  • COUNT

BigQuery 费用和结算

BigQuery 外部数据封装器依赖于以下各项:

  • BigQuery 计算价格
  • BigQuery Storage API 价格

如需了解详情,请参阅 BigQuery 价格

限制

  • AlloyDB 和 BigQuery 可能使用不同的排序规则,这可能会导致两个系统之间的数据排序不同。对于在 BigQuery 上远程执行的查询的任何部分,排序规则都遵循 BigQuery 的设置。
  • 从 BigQuery 返回大量数据的查询在下推后未得到优化。

后续步骤