AnalyticDB PostgreSQL版高性能版采用单副本存储模式,大幅降低了数据存储成本及建仓门槛,并提供了较高的I/O能力。

说明 AnalyticDB PostgreSQL版高性能版实例,适用于大部分业务分析场景。对于企业核心业务,依然推荐采用高可用版本。

架构介绍

AnalyticDB PostgreSQL版高性能版的Master和Segment节点均采用了单节点部署,架构图如下。

图 1. 高性能版架构图
基础版架构图

相比较下图中的高可用版,高性能版取消了Master Node的副本Standby Node,以及Compute Node中Primary的副本Mirror。

图 2. 高可用版架构图
高可用版架构图

取消上述副本后高性能版具有如下优势:

  • 取消了Master Node的副本Standby Node,节省了Standby Node占用的存储空间。
  • 取消了Compute Node中的副本Mirror,节省了一半的存储空间。
  • 取消了Compute Node中Primary与Mirror的数据同步过程,提升了写入场景下的I/O性能。

费用说明

价格信息详情,请参见云原生数据仓库PostgreSQL版详细价格信息

高性能版优势

  • 成本优势

    高性能版成本优势主要体现在如下两个方面:

    • 相同规格下,节省了一个副本的存储空间,降低了50%的存储成本。
    • 计算节点在拥有相同算力的情况下价格下降。
    配置存储价格计算节点价格总价格
    高性能版高可用版价格下降高性能版高可用版价格下降高性能版高可用版价格下降
    入门配置22.4美元/月100美元/月77.6%175.55美元/月352.05美元/月50.13%197.95美元/月452.05美元/月56.21%
    常用配置s89.6美元/月200美元/月55.2%668.65美元/月700.28美元/月4.52%758.25美元/月900.28美元/月15.78%
    • 入门配置:入门配置即最低配置,高性能版为2核、50 GB存储容量、2个计算节点,高可用版为2核、50 GB存储容量、4个计算节点。相比高可用版,高性能版的入门价格降低了59%。
    • 常用配置:高性能版和高可用版均为4核、100 GB存储容量、4个计算节点。相比高可用版,相同配置下,价格降低了22%。
  • 性能优势

    高性能版相比较高可用版,I/O性能有比较明显的提升。2核规格的实例,I/O性能最高可达高可用版相同规格实例的2.5倍。在大量数据写入的场景中,高性能版省去了向副本同步数据和流复制的过程,该场景下又有额外的接近1倍的I/O提升。

    对计算节点规格为2核、存储容量为400 GB、4个计算节点的高性能版和高可用版实例进行本地复制测试和TPC-H测试:

    • 本地复制测试

      对约90 GB的行存表进行本地复制测试,示例SQL如下:

      create table lineitem2 as (select * from lineitem);

      高性能版和高可用版执行耗时如下:

      • 高性能版:249s
      • 高可用版:1307s

      通过如上测试可以看出,I/O密集型场景(例如本地表CTAS、INSERT INTO SELECT)性能提升明显,上述示例中有接近5倍性能提升。

    • TPC-H测试
      说明 本文的TPC-H的实现基于TPC-H的基准测试,并不能与已发布的TPC-H基准测试结果相比较,本文中的测试并不符合TPC-H基准测试的所有要求。

      对数据集总大小为100 GB的TPC-H数据集进行基准测试,TPC-H的22个SQL结果如下图所示。

      基础版TPC-H测试

      由于I/O性能的提升,相比较高可用版,高性能版的TPC-H集群测试用时降低了40%左右。

可用性

  • 数据可靠性

    AnalyticDB PostgreSQL版使用阿里云ESSD云盘作为存储介质,可保证在单副本模式下,依然可以提供超高的数据可靠性。即使计算节点发生故障,也可以保证实例无数据丢失。

  • 高可用

    AnalyticDB PostgreSQL版高性能版由于减少了一个副本,在高可用方面出现了一些下降,在物理机故障等极端情况下,集群恢复的时间会变长。高性能版通过ESSD多副本技术,保留了完整的数据可靠性,并且阿里云团队通过更改高性能版CheckPoint机制的方式,减少了恢复的时间。

    以下内容为AnalyticDB PostgreSQL版实例常见故障场景中高性能版和高可用版的对比:

    • 恢复(Recovery)模式

      根据以往AnalyticDB PostgreSQL版运行情况,恢复模式为出现概率最大的故障场景,远大于另外两种场景,该场景下高性能版恢复速度远高于高可用版。

      SQL崩溃时,主要为出现Coredump或Out of Memory等情况,会使AnalyticDB PostgreSQL版进入恢复模式。恢复模式中,系统会对残留的锁和内存执行一些清理操作,并通过回放WAL文件来保证数据的完整性。恢复期间,实例会暂时无法服务,完成恢复后,实例会恢复正常。高可用版实例恢复一般耗时5~10分钟,而高性能版实例通过更改CheckPoint机制等方式,恢复的时间可缩短至10s左右。

      WAL和CheckPoint介绍如下:

      • WAL(Write Ahead Log)

        AnalyticDB PostgreSQL版中,事务的每次修改数据的操作都需要先记录到WAL文件中,即每次事务提交时,会保证WAL日志已落盘。当数据库需要恢复数据时,可以通过回放WAL日志的方法来恢复已经提交但是尚未写入磁盘的数据库的数据更改。

      • CheckPoint

        CheckPoint相当于在WAL日志中写入的一个恢复点标记,并将该标记之前的修改全部落盘。数据库恢复数据时,只需要回放到最近一次恢复点即可。AnalyticDB PostgreSQL版会定期执行CheckPoint操作,当WAL日志过长时,也会自动执行CheckPoint进行落盘。

    • 计算节点故障

      高性能版实例减少了一个副本,必然带来可用性的下降。高可用版的某个计算节点故障后,会立刻无缝切换至对应副本,实例可以正常运行,故障的计算节点会切换为副本,在后台自动重启;而高性能版实例单个节点故障会导致整个实例不可用,必须重启整个实例恢复。

    • 计算节点宿主机故障

      计算节点宿主机故障属于比较少见的极端情况,会触发宿主机的自动迁移。对于高可用版实例,仍然可以触发副本自动切换,实例可以正常运行,同时后台自动完成宿主机的迁移;高性能版实例则需要等待宿主机迁移成功后,再重启恢复实例,耗时一般在15分钟左右。

相关文档