DuckDB分析加速

更新时间:
复制为 MD 格式

当您在RDS PostgreSQL上进行复杂查询并期望快速获得结果时,可以使用分析加速引擎rds_duckdb。该引擎基于DuckDB构建,提供列存表与向量化执行能力,无需修改原始SQL即可显著提升复杂分析查询的执行速度。

功能简介

RDS PostgreSQL默认使用行存格式存储数据,行存适合在线事务处理(OLTP)场景的高频点查与更新,但在分析(OLAP)场景下需要扫描大量数据时性能受限。rds_duckdb插件在RDS PostgreSQL中集成了DuckDB分析引擎,通过以下能力加速复杂查询:

  • 列存格式:将数据按列组织存储,对于只涉及部分列的聚合、统计类查询,只需读取相关列,大幅减少I/O开销。

  • 向量化执行:以批量数据为单位进行计算,充分利用CPUSIMD指令与缓存局部性,相比传统的逐行执行(火山模型)有数倍至数十倍的性能提升。

  • 无侵入使用:原始SQL语句无需任何修改,业务可平滑迁移至加速链路。

适用场景

  • 复杂报表与即席查询(Ad-hoc Query),涉及多表JOIN、GROUP BY、聚合计算。

  • 数据分析与统计场景,单表数据量较大且查询只涉及部分列。

  • HTAP混合负载场景,希望在同一份数据上同时支持在线事务与分析查询。

开启方式

在正式使用分析加速能力前,请先完成实例配置。RDS PostgreSQL提供以下两种方式,您可以根据业务负载特征进行选择:

开启方式

资源模式

推荐场景

操作文档

主实例开启分析加速

PostgreSQLDuckDB共享主实例资源,部署简单、成本较低。

TP负载较轻或允许AP查询占用部分主实例资源的业务,希望快速验证加速效果。

主实例开启AP加速

DuckDB分析实例

独立部署DuckDB分析实例,与主实例进行数据同步,APTP负载在物理资源上完全隔离。

对在线业务延迟敏感的核心业务,需要保障TP稳定性,同时承载大规模AP分析查询。

DuckDB分析实例

说明

如果您不确定如何选择,建议优先采用DuckDB分析实例方式,将分析负载与在线事务隔离,避免AP查询影响核心业务的性能与稳定性。

使用方法

成功开启HTAP加速功能后,您可以通过rds_duckdb插件创建列存表、导入数据并执行查询。详细的语法说明、表管理操作、查询使用方式,请参见AP加速引擎(rds_duckdb)

性能测试

如果您希望量化评估rds_duckdb对复杂查询的加速效果,可以参考标准TPC-H测试方案。该方案包含完整的测试数据准备、查询执行步骤与结果对比,详情请参见AP加速引擎(rds_duckdb)性能测试

免费体验

如果您希望快速体验rds_duckdb的核心功能,可以使用免费体验入口,无需购买额外资源即可完成简单的AP加速查询验证。详情请参见免费体验RDS PostgreSQL AP加速引擎(rds_duckdb)