高性能版实例

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%的存储成本。

  • 计算节点在拥有相同计算能力的情况下价格下降。

    配置

    存储价格(元/月)

    计算节点价格(元/月)

    总价格(元/月)

    高性能版

    高可用版

    价格下降

    高性能版

    高可用版

    价格下降

    高性能版

    高可用版

    价格下降

    入门配置

    100

    400

    75%

    765

    1756.3

    56.44%

    865

    2156.3

    59.88%

    常用配置

    400

    800

    50%

    2910

    3463.96

    15.99%

    3310

    4263.9

    22.37%

    • 入门配置:入门配置即最低配置。高性能版为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);

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

    • 高性能版:249秒(s)

    • 高可用版:1307秒(s)

    通过如上测试可以看出,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版高性能版由于减少了一个副本,在高可用方面出现了一些下降,在物理机故障等极端情况下,集群恢复的时间会变长(8小时以内)。高性能版通过ESSD多副本技术,保留了完整的数据可靠性,并且阿里云团队通过更改高性能版CheckPoint机制的方式,减少了恢复的时间。

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

  • 恢复(Recovery)模式

    根据以往AnalyticDB PostgreSQL版运行情况,故障最大的场景为恢复模式,故障概率远大于另外两种场景(计算节点故障和计算节点宿主机故障)。恢复模式中高性能版恢复速度远高于高可用版。

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

    WAL和CheckPoint介绍如下:

    • WAL(Write Ahead Log)

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

    • CheckPoint

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

  • 计算节点故障

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

  • 计算节点宿主机故障

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

相关文档

常见问题

Q:如何将AnalyticDB for PostgreSQL基础版实例升级为高可用版?

A:基础版不能直接升级到高可用版,如果需要升级到高可用版,建议先备份好数据,然后购买高可用版实例并进行数据迁移。关于如何进行数据迁移,请参见AnalyticDB PostgreSQL版间的数据迁移