AnalyticDB PostgreSQL版存储引擎基于PostgreSQL实现,在继承了PostgreSQL存储引擎可扩展、高可用、强事务能力的基础同时,还具备如下特性:
- 多种表类型:存储引擎同时支持行存表和列存表,行存表适用于高频数据增删改和点查场景,列存表适用于复杂AP分析场景,可根据业务场景灵活选择表类型。
- 丰富的索引类型:支持Btree(等值查询/范围查询)、Brin(结合排序实现粗糙集过滤)、GIN(倒排索引)等索引类型,在点查和低选择率场景采用索引可显著提升数据检索性能。
- 数据压缩类型:压缩算法支持ZLIB、ZSTD和LZ4等,高压缩率可显著降低数据存储成本,并通过高带宽解压缩性能降低IO时间。
- 外表OSS存储:数据可远端低成本存储于OSS上,查询和写入行为与本地表完全一致。
- 数据分区:支持数据多级分区,且可按Value或范围进行分区,常用场景为按时间进行分区,可明显降低IO数据量,同时分区支持混合存储,历史数据和活跃数据可分层冷热存储。
- 排序及粗糙集过滤:建表时可指定排序字段,数据通过排序后,一方面可结合粗糙集Min/Max过滤降低IO数据量,另外排序也将提升数据压缩率以降低存储成本。