全部产品
Search
文档中心

云原生数据库 PolarDB:冷数据分层存储

更新时间:Dec 04, 2024

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全部透明,又通过多级缓存保障了性能的最少衰减。

image.png

数据冷存的几种模式

数据冷存是指将数据表/索引/物化视图转存入OSS,转存后不再占用或者极少量占用数据库云盘存储空间,从而大大降低数据库的存储成本。数据冷存后,所有的增删改查SQL都透明,无需做任何修改。

PolarDB支持的数据冷存模式包含以下三种:

  • 将整表数据存储在OSS中,索引存储在云盘中,降本后还能有良好的访问性能;

  • 只将表中的LOB字段、辅助性字段独立存储在OSS中;

  • 只将分区表中的过期子分区存储在OSS中,热分区存储在云盘中,这是比较典型的冷热分层模式。

image (2).png

数据冷热分层场景

由于OSS访问延迟是云盘介质访问延迟的几百倍,数据一旦冷存处理后,其访问性能会降低。为了降低成本将数据冷存处理,但对冷数据依旧有低频访问、更新的需求,同时对访问、更新的性能也有一定要求。为了满足这方面的需求,PolarDB PostgreSQL版除了支持低频访问的数据对象冷存处理外,还支持两种冷热分层存储场景:

  • 通过分区表将部分已过期的子表转入冷存,部分热访问的子表依旧保留在数据库云盘中,实现数据冷热分层存储,既不影响查询性能,又降低存储成本。具体可参考分区表冷存

  • 在数据库云盘中提供冷存对象的物化缓存,将频繁读取、频繁更新的部分数据缓存在云盘中,OSS介质中保留了数据的完整性,数据在物化缓存中的生命周期由访问频率决定,这样可以达到性能优良但存储成本更低的效果。具体可参考冷数据物化缓存