本文将介绍如何选择云原生数据仓库PostgreSQL版实例规格。

存储资源模式

云原生数据仓库PostgreSQL版,新增了存储资源模式的选择。

  • 存储预留模式

    这是传统的模式,即用户在选择规格后,即分配固定配额的存储空间。当用户空间不足时,只能通过扩展节点的方式间接扩大存储空间。

  • 存储弹性模式

    存储弹性模式这是一种新的模式,即用户在购买时,除选择规格外,还需指定存储空间。当用户空间不足时,不仅可通过扩展节点方式扩容,也可通过增大存储空间的方式扩容。

存储类型

根据存储资源模式的不同,可分为不同的选择。

  • 存储弹性模式
    • 高性能 ESSD 存储:可以提供更好的 I/O能力,带来更高的分析性能。
    • 大容量 高效云盘存储:可以提供更大、更实惠的空间,满足更高的存储需求。
  • 存储预留模式
    • 高性能 SSD 存储:可以提供更好的 I/O能力,带来更高的分析性能。
    • 大容量 HDD存储:可以提供更大、更实惠的空间,满足更高的存储需求。
节点规格
资源模式 节点(分区)存储类型 节点核数 内存 有效存储空间 说明
预留 高性能SSD 1 8GB 80GB 只适合低并发场景(<5并发),且节点数少于32个的场景;支持节点范围4-32个
高性能SSD 4 32GB 320GB 高性能SSD存储的主要推荐规格;支持节点范围 8-2048 个
大容量HDD 2 16GB 1TB 只适合低并发场景(<5并发),且节点数少于8个的场景;支持节点范围 4-32 个
大容量HDD 4 32GB 2TB 大存储HDD 主要推荐规格;支持节点范围 8 - 2048个
弹性 高性能ESSD 2 16GB 50GB~1TB 只适合低并发场景,支持节点范围4-128个
高性能ESSD 4 32GB 50GB~2TB 只适合高并发场景,支持节点范围4-128个
大容量 高效云盘 2 16GB 50GB~3TB 只适合低并发场景,支持节点范围4-128个
大容量 高效云盘 4 32GB 50GB~4TB 只适合中并发场景,支持节点范围4-128个
实例节点数

一个实例由多个节点组成,每个节点即MPP架构下一个数据分区,单实例最多支持4096个节点。每个节点存储并处理一部分数据。MPP 架构下,存储空间随节点数线性增加,而查询响应时间 RT 不变。

说明 关于产品价格,请参见产品定价

实例配置选型原则

云原生数据仓库PostgreSQL版在创建或升级实例规格时,需要选择实例的存储类型单节点核数实例节点数。分析型数据库PostgreSQL版也支持OSS外部表的扩展,可通过gzip实现外部存储上的数据压缩,将不需要参与实时计算的数据存储到数据库外部以进一步节省存储成本。

  • 存储类型选择
    • 对于性能优先类场景,建议以SSD或ESSD构建分析数据仓库实例;
    • 对于以数据存储类优先的场景,可以考虑 HDD或高效云盘类型。
  • 单节点核数选择

    每个节点会存储并处理每个用户表其中一个分片的数据,即MPP架构下一个数据分区。推荐核数配置为单节点4核;SSD存储单节点1核或ESSD存储单节点2核,只适合32节点内实例的低并发执行场景;HDD存储单节点2核或高效云盘存储单节点2核,只适合8节点内实例的低并发执行场景

  • 实例节点数选择

    分析型数据库PostgreSQL版采用MPP全并行架构,数据处理能力随实例节点数量增加而线性增长,保证数据量增加而响应RT时间不变。可以参照原始数据量及应用场景,选择适合的实例节点数。

行存储与列存储的选择

ADB PG在用户创建表时,支持指定的数据存储格式,即支持按行组织存储,也支持按列组织存储。

  • 当有较多数据更新操作或有实时写入的业务场景 (INSERT/UPDATE/DELETE ),建议采用行存储。

    对于1TB 原始数据,入库后采用行存储,大小一般还是在 1TB左右,考虑到索引、日志、以及在计算过程中会产生临时文件等,建议按2TB的用户数据空间来规划集群实例规格。若对查询性能要求较高,可以增加实例节点数,从而增加相应的CPU、内存等资源,提升查询性能。

  • 批处理ETL场景,其数据一般较少被更新(UPDATE/DELETE),数据为批量入库,同时查询以少量列的全表数据聚合关联为主,建议采用列存储。

    列存储支持较高的数据压缩率,可以达到 2-5倍的压缩比,即对于1TB原始数据,入库后若采用了列存储压缩设置,数据在0.5TB以内,那么可以按 1TB的用户数据存储空间来规划集群实例规格。

实例配置选型示例

如果有5TB的原始数据,针对高性能分析场景,并有100并发以上的查询,建议采用SSD存储类型,单节点4核,32个节点实例规格,那么将总计有 10TB 用户数据存储空间。

说明 2019年8月23日 AnalyticDB for PG 实例规格定义变更,由按“计算组”组成,改为由“节点”组成。一个“节点”对应一个MPP数据分区,较之前一个“计算组”包含多个数据分区, 简化规格定义,遵从集群数据库命名标准。计算组和节点的对应关系见实例“节点”规格与原“计算组”规格的对应关系?