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.96元/月 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);

      基础版和高可用版执行耗时如下:

      • 基础版: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分钟左右。

相关文档