当您在RDS PostgreSQL实例上运行复杂的报表或分析查询时,可能会消耗大量资源,从而影响核心业务的性能与稳定性。为解决此问题,RDS PostgreSQL推出DuckDB分析实例。该实例专门用于处理分析类工作负载,通过独立的节点实现读写分离,从而将分析(AP)负载与在线事务(TP)负载进行隔离。在不影响主实例性能的前提下,显著提升复杂查询的分析效率。
功能简介
DuckDB分析实例是一种专为分析查询设计的特殊只读实例。具有以下特点:
读写分离与负载隔离:该实例作为一个独立的节点,能够将消耗资源的分析查询与主实例的在线事务处理完全隔离,从而确保核心业务的性能和稳定性不受影响。
Zero-ETL的实时列存转换:通过物理复制与逻辑订阅相结合的方式,实现主实例数据的实时同步,并自动转换为列式存储格式。同时,支持按数据库配置同步策略。
行列混合存储:实例内部同时保留了行存(原始格式)与列存(分析格式)两份数据。默认启用列存加速能力,将复杂的分析查询路由至列存引擎执行;对于无法由列存引擎处理的查询,系统将自动切换至行存引擎执行,以确保业务的兼容性。同时,该实例支持行存储压缩功能。
前提条件
如需创建DuckDB分析实例,被挂载的RDS PostgreSQL主实例需满足以下条件:
实例状态:运行中。
数据库大版本:RDS PostgreSQL 17.0。
产品系列:高可用系列。
计费方式:包年包月或按量计费。
数据库小版本:20250830及以上版本。
实例参数:已配置以下参数的取值。
wal_level取值为logical、shared_preload_libararies中包含rds_duckdb,hot_standby_feedback取值为on,max_replication_slots取值大于等于1024,max_worker_processes取值大于等于1024,max_wal_senders取值大于等于1024。
不是灾备实例。
计费说明
DuckDB分析实例的计费与只读实例一致,受产品系列、实例规格、存储类型与存储空间大小等因素影响,具体费用以售卖页显示为准。
注意事项
创建DuckDB分析实例后,主实例的相关参数必须保持指定配置,请勿随意修改。
同一个主实例创建了多个DuckDB分析实例时,列存相关的配置(例如,哪些数据库开启自动行转列)将对所有DuckDB分析实例生效。
主实例已经通过rds_duckdb插件开启列存加速时,创建DuckDB分析实例后建议关闭主实例的列存加速功能,以确保完全的负载隔离。
为确保查询的兼容性,DuckDB分析实例中将保留一份行存数据。可以通过对行存数据实施压缩处理,以有效控制存储成本。
创建DuckDB分析实例
访问RDS管理控制台,在上方选择地域,然后单击目标实例ID。
在基本信息页的实例分布区域,单击DuckDB分析实例右侧的添加。
在弹出的页面中进行前置检查。前置检查通过后,单击确认开通。
当前置检查失败时,单击一键修复,并在弹出的页面中选择修复时间。系统将自动对检查失败的依赖项进行配置。修复完成后,请重新单击DuckDB分析实例右侧的添加,进入前置检查页,然后单击确认开通。
重要当实例的数据库大版本未满足要求时,请手动升级数据库大版本。
设置DuckDB分析实例的参数。
参数
说明
计费方式
包年包月:适合长期使用(一次性付费)。
按量付费:适合短期使用(按小时付费)。您可以先创建按量付费的DuckDB分析实例,确认实例符合要求后再转包年包月。
产品系列
基础系列:单节点的DuckDB分析实例,性价比高,适用于学习或测试。故障恢复和重启耗时较长。
高可用系列(默认):拥有一个主节点和一个备节点,可实现DuckDB分析实例的高可用,适用于生产环境,适合80%以上的用户场景。
说明如果产品系列选择高可用系列,则还需选择主节点可用区、部署方案(多可用区部署或单可用区部署)以及备节点可用区。
产品类型
仅支持标准版。
更多信息,请参见产品类型。
可用区
可用区是地域中的一个独立物理区域,不同可用区之间没有实质性区别。相比单可用区,多可用区能提供可用区级别的容灾。
实例规格
仅支持独享规格。规格与RDS PostgreSQL只读实例规格一致。
存储空间
存储空间包括数据空间、系统文件空间、WAL文件空间和事务文件空间。调整存储空间时最小单位为5 GB。
说明DuckDB分析实例存储空间不能低于主实例。各规格的存储空间大小,请参见RDS PostgreSQL只读实例规格列表。
单击下一步:实例配置,设置如下参数。
参数
说明
网络类型
默认与主实例网络类型、VPC和主节点交换机保持一致。
实例释放保护
如果计费方式为按量付费,则可以为按量付费实例开启实例释放保护,防止按量付费实例被意外释放。更多信息,请参见开启和关闭实例释放保护。
资源组
默认与主实例资源组相同,不支持修改。
时区
默认与主实例时区保持一致。
SLR 授权
无需配置,购买主实例时已授权。
实例名称
设置实例名称,方便管理。
标签
支持创建实例时为实例绑定标签,实例创建后,可根据标签进行筛选。更多信息,请参见根据标签筛选实例。
单击下一步:确认订单。
确认参数配置,选择购买量和购买时长(仅包年包月实例)后,单击确认下单并完成支付。
配置列存数据库
在使用DuckDB进行分析实例之前,您需要为RDS PostgreSQL主实例配置需要转换为列存的数据库。
前提条件
RDS PostgreSQL主实例需满足以下条件:
已创建DuckDB分析实例,且DuckDB分析实例的状态为运行中。
已创建高权限账号。
目标数据库中必须至少包含一张数据表。
操作步骤
登录RDS管理控制台,在左侧单击实例列表,然后在上方选择地域。
在实例列表中找到主实例(带有
标识),展开主实例的下拉列表。
单击DuckDB分析实例的ID。
在左侧导航栏单击数据库管理。
在数据库管理页,勾选需要自动转为列存的数据库后,单击批量配置列存。
在弹出的对话框中单击确定。