PolarDB PostgreSQL版支持冷热数据分层存储功能,使用OSS等更低成本的存储介质,将冷热数据进行分层存储。将访问频率和更新频率低的数据转存到OSS中,可以有效降低存储成本。本文介绍了冷数据分层存储的优势和技术原理。
功能优势
当开启冷数据分层存储后,单位存储的价格相较于ESSD PL1降低了约90%。详细定价规则请参见冷数据分层存储计费规则。
PolarDB PostgreSQL版的冷数据分层存储功能具备易用性好、灵活度高、性能优良、覆盖场景广泛、安全可靠的特点:
易用性好
SQL透明:数据库的SQL操作完全透明,无需进行任何改写,支持OSS表联合查询;存储到OSS上的数据也支持进行增、删、改、查操作。
索引透明:支持针对索引、物化视图等设置归档策略,操作透明。
灵活度高
支持多种分层存储策略,包括按照表维度进行归档(同时支持索引、物化视图)、按分区维度进行归档、按指定LOB字段进行归档。并且支持不同策略的组合,可以根据业务使用情况进行灵活配置。
性能良好
查询性能良好,采用了三层缓存设计:UDF内逻辑对象缓存+页面共享缓存+文件持久化缓存,有效减少了对OSS的访问次数,从而将OSS的读写延迟影响降到最低。
覆盖场景广泛
支持通用、时空、时序数据的归档,例如将时空轨迹、高精度地图等数据归档,大幅降低存储成本。
安全可靠
OSS冷存数据同样支持备份恢复功能,在降低备份成本的同时还保障了高可用能力。
该功能支持版本为PolarDB PostgreSQL版14.10.21.0及以上版本。
冷存后的数据访问延迟会有所增加,且不建议频繁更新或写入,您可以选择性地将数据存储在OSS中。
支持的地域
地区 | 地域 |
中国 | 华东1(杭州) |
华东2(上海) | |
华南1(深圳) | |
华南3(广州) | |
华北2(北京) | |
华北3(张家口) | |
华北6(乌兰察布) | |
中国(香港) | |
亚太地区 | 新加坡 |
印度尼西亚(雅加达) | |
马来西亚(吉隆坡) |
技术原理
PolarDB PostgreSQL版 实现的冷热分层存储功能可以将OSS对象存储直接作为数据库的一种存储介质,存储价格低廉。PolarDB PostgreSQL版也可以与块存储联合使用,根据不同维度自动将冷热数据分层存储,既保持了增删改查的SQL全部透明,又通过多级缓存保障了性能的最少衰减。
数据冷存的几种模式
数据冷存是指将数据表/索引/物化视图转存入OSS,转存后不再占用或者极少量占用数据库云盘存储空间,从而大大降低数据库的存储成本。数据冷存后,所有的增删改查SQL都透明,无需做任何修改。
PolarDB支持的数据冷存模式包含以下三种:
将整表数据存储在OSS中,索引存储在云盘中,降本后还能有良好的访问性能;
只将表中的LOB字段、辅助性字段独立存储在OSS中;
只将分区表中的过期子分区存储在OSS中,热分区存储在云盘中,这是比较典型的冷热分层模式。
数据冷热分层场景
由于OSS访问延迟是云盘介质访问延迟的几百倍,数据一旦冷存处理后,其访问性能会降低。为了降低成本将数据冷存处理,但对冷数据依旧有低频访问、更新的需求,同时对访问、更新的性能也有一定要求。为了满足这方面的需求,PolarDB PostgreSQL版除了支持低频访问的数据对象冷存处理外,还支持两种冷热分层存储场景: