文档

RDS PostgreSQL通用云盘数据归档

更新时间:

云盘版本的RDS PostgreSQL实例数据表文件都存储在云盘(ESSD)中,当数据量较大时,可能会面临较高的存储成本。通常,RDS PostgreSQL实例的数据包含冷数据和热数据。通过数据归档功能,可以将对象存储(OSS)用作归档冷数据的存储介质,从而显著降低存储成本。

功能简介

RDS PostgreSQL实例利用表空间和外部文件系统来实现对OSS的访问,允许用户通过DDL完成数据在ESSD和OSS之间的转换。启用数据归档功能的RDS PostgreSQL实例会在数据目录之外增加一个冷存储目录/cold-data,并添加该目录对应的表空间rds_oss。rds_oss表空间中的数据存放在OSS中,pg_default表空间中的数据存放在ESSD中。

image

开启RDS PostgreSQL数据归档功能后,可通过执行以下DDL语句,实现数据在ESSD和OSS之间的转换(适用于普通表和分区表子表)。转换时,需要分别对表和索引数据进行处理。

-- 归档
ALTER TABLE $tableName SET tablespace rds_oss;
ALTER INDEX $indexName SET tablespace rds_oss;
-- 取回
ALTER TABLE $tableName SET tablespace pg_default;
ALTER INDEX $indexName SET tablespace pg_default;
说明

当前RDS PostgreSQL数据归档仅支持只读查询。

功能优势

开启用RDS PostgreSQL数据归档功能后,利用OSS的海量、安全、低成本和高可靠特性,您可以在RDS PostgreSQL上实现极低成本、无限容量的归档数据存储,并支持低频数据访问。相较于ESSD PL1云盘,数据存储成本下降了80%。

说明

数据归档到对象存储服务(OSS)后,若数据库实例的云盘出现大量空余空间,可考虑对云盘进行缩容,以降低存储成本。详情请参见云盘版RDS PostgreSQL实例存储空间缩容

适用范围

  • 引擎:RDS PostgreSQL

  • 大版本:12或以上版本。

  • 小版本:20240530或以上,如需升级内核小版本,请参见升级内核小版本

    说明

    当实例大版本为15时,20240229及之后的小版本均支持数据归档功能。

  • 产品系列:基础系列、高可用系列。

  • 产品类型:标准版、倚天版。

  • 存储类型:通用云盘。

  • 实例计费方式:包年包月、按量付费。

  • 实例规格:CPU核数大于等于8核。

  • 地域:目前不支持韩国(首尔)、澳大利亚(悉尼)关停中、阿联酋(迪拜)和英国(伦敦)。

使用限制

  • 开启数据归档后,会影响实例的备份及部分功能:

    • 不支持秒级备份。

    • 不支持跨地域备份。

    • 在进行库表恢复时,只能恢复所选数据库中未进行数据归档的数据。

    • 在进行备份集下载时,所下载的备份集中仅包含尚未进行数据归档的数据。

    说明

    已开启数据归档的实例,相较于未开启时,由于需要恢复数据归档的数据,备份/恢复的时长会增加。

  • 表或索引数据转换到OSS存储之前,需要进行数据清理。OSS的存储性能与ESSD存在较大差距,导致OSS表空间的autovacuum效率较低。为了避免长时间的autovacuum对整个实例的性能造成负面影响,在设计上要求转入的归档表的所有页面(page)都应设置为all_visible和all_frozen,以避免在归档表空间发生autovacuum。如果需要清理归档数据,建议使用如下方式:

    VACUUM (FREEZE) table_name;

    可以通过增加VERBOSE选项来打印清理过程的详细信息,有助于定位原因,从而实现完全的清理。

    • 当实例中存在长事务以及复制槽时,可能需要保留部分事务ID,无法做到完全清理。

    • 不同版本的RDS PostgreSQL实例具有不同的优化策略,因此可以通过打印详细信息进行分析,明确指定参数以实现完全的清理。例如:

      VACUUM (FREEZE, INDEX_CLEANUP on) table_name;
      • RDS PostgreSQL 14及以上,建议设置PROCESS_TOAST,允许进行TOAST表的清理操作。

      • RDS PostgreSQL 16及以上,建议设置PROCESS_MAIN,允许进行主表的清理操作。

    VACUUM的更多信息请参见VACUUM

注意事项

  • 进行数据归档操作前需要对目标表进行VACUUM操作。

  • 受限于OSS的访问延迟,相比于ESSD存储,冷数据表的数据访问会具有更大的延迟(10ms级别)。

    说明

    如果归档到OSS的表访问速度很快,这可能是由于数据库Buffer Pool或操作系统Page Cache中存在缓存所致。

  • OSS的读取会占用一部分内存,同时访问OSS侧数据将占用一定比例的ECS的网络带宽资源,因此需要合理调整数据转换和数据访问的速度和频率。

计费

公测期间免费

公测期间免费,时间自2024年04月24日起,至2024年07月07日结束。公测截止日期结束后,会根据具体的云盘OSS归档数据量进行收费。

收费说明

目前收费方式仅支持按量付费,具体产品收费地域及系列定价如下:

收费地域

基础系列定价

高可用系列定价

集群系列定价(根据节点数量计算)

华东1(杭州)、华东2(上海)、华东5(南京-本地地域)、华东6(福州-本地地域)、华中1(武汉-本地地域)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)

0.00021元/GB/小时

0.00042元/GB/小时

0.00021元/GB/小时

中国(香港)、日本(东京)、新加坡、印度尼西亚(雅加达)、德国(法兰克福)

0.00022元/GB/小时

0.00044元/GB/小时

0.00022元/GB/小时

菲律宾(马尼拉)、美国(硅谷)

0.00038元/GB/小时

0.00076元/GB/小时

0.00038元/GB/小时

马来西亚(吉隆坡)

0.00037元/GB/小时

0.00074元/GB/小时

0.00037元/GB/小时

美国(弗吉尼亚)

0.00035元/GB/小时

0.0007元/GB/小时

0.00035元/GB/小时

开启和关闭数据归档功能

开启数据归档功能

  • 新购实例时,在实例购买页开启数据归档功能。

  • 已有的存储类型为通用云盘的实例,可以在实例详情页开启数据归档功能。

实例购买页

  1. 打开RDS实例创建页面

  2. 在选择存储类型时,选择通用云盘,页面会自动显示三层存储(缓存、数据、冷存)的配置栏,可在冷存配置项中打开数据归档功能的开关。

    image

实例详情页

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在实例详情页面,在基础信息区域单击通用云盘开关设置,在冷存配置项中打开数据归档功能的开关。

    image

    重要

    开启数据归档OSS功能会出现约30s左右的闪断,请在业务低峰期操作并确保应用程序具有自动重连机制。

关闭数据归档功能

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在实例详情页面,在基础信息区域单击通用云盘开关设置,在冷存配置项中关闭数据归档功能的开关。

    重要
    • 数据归档OSS功能的关闭过程并不是无损操作,会有30s左右的闪断。

    • 数据归档OSS功能关闭时要求OSS中没有归档表数据,如果OSS中有归档表数据则不允许关闭,需要先通过DDL将归档表转为在线表或者将归档表DROP掉,再关闭数据归档OSS功能。

查看归档数据

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏,单击冷存管理

  3. 归档层设置页面,查看已归档的数据。

    4823052a00d5487a3011f417893cf7eb