AnalyticDB PostgreSQL高性能基础版
云原生数据仓库AnalyticDB PostgreSQL版(下文简称ADB PG)是阿里云数据库团队基于PostgreSQL内核(下文简称PG)打造的一款云原生数据仓库产品。在数据实时交互式分析、HTAP、ETL、BI报表生成等业务场景,ADB PG都有着独特的技术优势。
对于离线报表分析等公有云典型场景,对数仓的可用性的要求并不苛刻,因此ADB PG推出了单副本形态,在大幅提升IO性能的同时降低近一半存储成本的同时,极大的提升了产品性价比。
核心架构设计
ADB PG高可用版实例采用双副本模式,部署结构如下:
高性能【基础版】实例相比高可用版实例,master和segment均采用单节点部署,即省略了上图中master node的副本standby node,和所有compute node中primary节点的副本mirror。这样做一方面在compute node上节约了一半的存储空间,并且直接节省了standby node;另一方面,省略了primary和mirror的同步过程,提升了写入场景下的IO能力:
产品优势
性能优势
高性能【基础版】 采用单副本相比高可用版双副本设计,IO性能有比较明显的提升,2C规格下,最高可达到原有相同规格集群的2.5倍;此外,在含有大量数据写入的场景下,高性能【基础版】节省了向副本进行数据同步和流复制的过程,这种场景下又有额外的接近1倍的IO提升。
对计算节点规格均为2C,节点存储均为400G的高性能【基础版】和高可用版集群进行以下测试:
- 大小约为90G的行存表进行本地复制测试:
create table lineitem2 as (select * from lineitem);
基础版(单副本) | 高可用版(双副本) | |
用时(s) | 249 | 1307 |
本地表CTAS,INSERT INTO SELECT,这类IO密集型场景,提升十分明显,上述场景有5倍性能提升。
- TPC-H测试
TPC-H 测试是数据仓库最常用的基准测试之一,包括 22 个SQL(Q1~Q22),主要评价指标是各个查询的执行时间
在计算节点规格均为2C,计算节点存储均为400G,计算节点个数均为4的情况下,对高性能【基础版】和高可用版进行数据集总大小为100G的TPC-H数据集进行基准测试,结果如下(单位:s):
SQL | 高可用版(双副本) | 高性能【基础版】(单副本) |
1 | 201 | 108 |
2 | 42 | 36 |
3 | 286 | 182 |
4 | 280 | 212 |
5 | 285 | 163 |
6 | 201 | 78 |
7 | 260 | 192 |
8 | 320 | 152 |
9 | 284 | 175 |
10 | 238 | 162 |
11 | 27 | 20 |
12 | 228 | 111 |
13 | 61 | 67 |
14 | 212 | 92 |
15 | 202 | 79 |
16 | 52 | 43 |
17.1 | 667 | 478 |
17.2 | 345 | 170 |
18 | 413 | 213 |
19 | 172 | 71 |
20 | 217 | 163 |
21 | 645 | 413 |
22 | 73 | 70 |
sum | 5713 | 3450 |
可以看到由于IO性能的提升,相比于高可用版,高性能【基础版】的TPCH基准测试用时降低了40%。
成本优势
高性能【基础版】成本优势主要体现在两方面:第一是相同规格下,节省了一个副本的存储空间,降低了50%的存储成本;另一方面,计算节点在相同算力下降低了价格。
入门配置为所能购买的最低配置,高性能【基础版】为2C 50G 2计算节点,高可用版为2C 50G 4计算节点。相比高可用版,高性能【基础版】的入门价格降低了59%。
常用配置下,高性能【基础版】和高可用版均为为4C 100G 4节点。相比高可用版,配置相同的情况下,价格降低了22%。
稳定性能力优势
维持高数据可靠性
ADB PG采用阿里云ESSD云盘作为存储介质,可保证99.9999999%的数据可靠性,即使发生计算节点宕机,也可保证无数据丢失。ESSD云盘自身采用了三副本技术,故可保证即使在单副本模式下,依然提供超高的数据可靠性,为客户的数据保驾护航。
可用性能力变化
1、WAL和checkpoint
ADB PG中,事务的每次修改数据的操作都必须首先被记录至WAL(Write Ahead Log)文件中。即每次事务提交时,会保证WAL日志已落盘。当数据库需要恢复数据时,可以通过回放WAL日志的方法来恢复已经提交但是尚未写入磁盘的数据库的数据更改。
checkpoint相当于在WAL日志中写入的一个恢复点标记,并将该标记之前的修改全部落盘。数据库恢复数据时,只需要回放到最近一次恢复点即可。ADB PG会定期执行checkpoint操作;当WAL日志过长时,也会自动执行checkpoint进行落盘。
2、Recovery模式
SQL崩溃时,主要是出现coredump或者out of memory等情况,会使ADB PG集群进入recovery模式,recovery模式中,会对残留的锁,内存等执行一些清理工作,并通过回放WAL文件来保证数据的完整性。Recovery期间,集群会暂时无法服务;完成recovery之后,集群会恢复正常。高可用版实例recovery时间大多在5-10min,而高性能【基础版】实例通过更改checkpoint机制等方式,recovery的时间可缩短至10s左右。
3、计算节点宕机
高性能【基础版】实例省略了一个副本,必然带来可用性的下降。高可用版的某个计算节点宕机之后,会立刻无缝切换对应副本,集群可以正常运行,宕机的计算节点的角色会切换为副本,在后台被自动重启;而高性能【基础版】实例单个节点宕机会导致整个集群出现短暂不可用,ADB PG会自动识别并触发秒至分钟级别的恢复任务来确保业务快速恢复。
4、计算节点宿主机宕机
计算节点宿主机宕机属于比较少见的极端情况,会触发宿主机的自动迁移。对于高可用版实例,仍然可以触发副本自动切换,集群可以正常运行,同时后台自动完成宿主机的迁移;高性能【基础版】实例则需要等待宿主机迁移成功后,再重启恢复集群,这个等待时间一般在15min左右。
ADB PG 高性能【基础版】由于省略了一个副本,在高可用方面出现了一些下降,在物理机宕机等极端情况下,集群恢复的时间变长。但通过ESSD多副本技术,仍保留了完整的数据可靠性,并且通过更改checkpoint机制的方式,减少了recovery的时间。根据以往公共云运行情况,recovery模式为出现概率最大的场景(远大于另外两个场景),而该场景下高性能【基础版】恢复速度当前要优于高可用版。
创建高性能【基础版】实例
可选地域
第一批高性能【基础版】实例覆盖5个核心区域, 用户可在北京可用区I,杭州可用区J,上海可用区L,深圳可用区F,新加坡可用区C 等5个可用区抢先使用。
选择实例规格
在首批开通的5个核心可用区中, 在实例系列提供“高性能【基础版】”实例的选项。由于对单点计算能力的加强,ADB PG进一步降低了起步门槛,允许最小的计算节点从2个节点起,综合起步成本降低了59%。
配置存储空间置后,可选择想要购买的时长(若有稳定需求,建议购买一年期,享85折优惠),总配置费用一栏会显示当前配置的费用,确认后点击右下角的立即购买,即完成创建!
总结
高性能【基础版】实例最大程度的适配非核心业务的IO密集型分析场景,大幅降低了产品的入门门槛,使用成本。未来ADB PG将持续深耕性价比,提高用户使用体验,助力企业解锁数据价值!
新人首次使用AnalyticDB PostgreSQL版
可享9.9包月特惠
点击 “阅读原文”,了解更多信息