且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

AnalyticDB PostgreSQL 基础版重磅发布

更新时间:2022-08-14 23:27:55

一 背景

AnalyticDB PostgreSQL版(简称ADB PG)是阿里云数据库团队基于PostgreSQL内核(简称PG)打造的一款云原生数据仓库产品。在数据实时交互式分析、HTAP、ETL、BI报表生成等业务场景,ADB PG都有着独特的技术优势。

对于离线报表分析等公有云典型场景,可用性要求不高,因此ADB PG推出了单副本形态,降低一半存储成本的同时提升了IO性能,大幅提升了性价比。

二 简介

ADB PG高可用版实例采用双副本模式,部署结构如下:

AnalyticDB PostgreSQL 基础版重磅发布

基础版实例相比高可用版实例,master和segment均采用单节点部署,即省略了上图中master node的副本standby node,和所有compute node中primary节点的副本mirror。这样做一方面在compute node上节约了一半的存储空间,并且直接节省了standby node;另一方面,省略了primary和mirror的同步过程,提升了写入场景下的IO能力:

AnalyticDB 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%


入门配置为所能购买的最低配置,基础版为2C 50G 2计算节点,高可用版为2C 50G 4计算节点。相比高可用版,基础版的入门价格降低了59%

常用配置下,基础版和高可用版均为为4C 100G 4节点。相比高可用版,配置相同的情况下,价格降低了22%


性能优势

基础版(单副本)相比高可用版(双副本),IO性能有比较明显的提升,2C规格下,最高可达到原有相同规格集群的2.5倍;此外,在含有大量数据写入的场景下,基础版节省了向副本进行数据同步和流复制的过程,这种场景下又有额外的接近1倍的IO提升

对计算节点规格均为2C,节点存储均为400G的基础版和高可用版集群进行以下测试:

  1. 大小约为90G的行存表进行本地复制测试:

create table lineitem2 as (select * from lineitem);


基础版(单副本)

高可用版(双副本)

用时(s)

249

1307

本地表CTAS,INSERT INTO SELECT,这类IO密集型场景,提升十分明显,上述场景有5倍性能提升

  1. 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

AnalyticDB PostgreSQL 基础版重磅发布

可以看到由于IO性能的提升,相比于高可用版,基础版的TPCH基准测试用时降低了40%

可用性

数据可靠性

ADB PG可保证99.99999999%的数据可靠性,即使发生计算节点宕机,也可保证无数据丢失。ADB PG使用阿里云ESSD云盘作为存储介质,ESSD云盘自身采用了三副本技术,故可保证即使在单副本模式下,依然提供超高的数据可靠性,为客户的数据保驾护航。

高可用

WAL和checkpoint

ADB PG中,事务的每次修改数据的操作都必须首先被记录至WAL(Write Ahead Log)文件中。即每次事务提交时,会保证WAL日志已落盘。当数据库需要恢复数据时,可以通过回放WAL日志的方法来恢复已经提交但是尚未写入磁盘的数据库的数据更改。


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

Recovery模式

SQL崩溃时,主要是出现coredump或者out of memory等情况,会使ADB PG集群进入recovery模式,recovery模式中,会对残留的锁,内存等执行一些清理工作,并通过回放WAL文件来保证数据的完整性。Recovery期间,集群会暂时无法服务;完成recovery之后,集群会恢复正常。高可用版实例recovery时间大多在5-10min,而基础版实例通过更改checkpoint机制等方式,recovery的时间可缩短至10s左右。

计算节点宕机

基础版实例省略了一个副本,必然带来可用性的下降。高可用版的某个计算节点宕机之后,会立刻无缝切换对应副本,集群可以正常运行,宕机的计算节点的角色会切换为副本,在后台被自动重启;而基础版实例单个节点宕机会导致整个集群不可用,必须重启整个集群恢复。

计算节点宿主机宕机

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

总结

ADB PG基础版由于省略了一个副本,在高可用方面出现了一些下降,在物理机宕机等极端情况下,集群恢复的时间变长。但通过ESSD多副本技术,仍保留了完整的数据可靠性,并且通过更改checkpoint机制的方式,减少了recovery的时间。根据以往公共云运行情况,recovery模式为出现概率最大的场景(远大于另外两个场景),而该场景下基础版恢复速度当前要由于高可用版


四 开通基础版实例

可选地域

目前只有北京可用区I,杭州可用区J,上海可用区L,深圳可用区F,新加坡可用区C可以开通基础版实例,即控制台上标有“荐”的地域.AnalyticDB PostgreSQL 基础版重磅发布

创建/选择VPC

如果在已选可用区已经有可用的VPC和交换机,此处会自动选择;如果点击右侧的刷新按钮后仍然没有自动选择,则代表此可用区无可用的VPC或交换机,需要重新创建。创建方法与高可用版完全相同,可参考阿里云官方帮助文档:使用专有网络

AnalyticDB PostgreSQL 基础版重磅发布

选择实例规格

AnalyticDB PostgreSQL 基础版重磅发布

各个选项的含义如下,除实例系列外,其余选项的含义基础版和高可用版均完全相同。实例系列选择“基础版”,其余选项按需选择:

实例系列

基础版为单副本实例,高可用版为双副本实例

节点数量(master)

购买实例对应的master数量,最小单位为1。

节点规格(segment)

计算资源单位,不同的计算组规格有不同的内存大小和计算能力.

节点数量(segment)

所购买的“节点”数量,基础版最小单位为2个,高可用版最小单位为4个,节点个数的增加可以线性地提升性能。

选择存储容量

AnalyticDB PostgreSQL 基础版重磅发布

节点存储容量代表实例中每个节点独享的存储空间大小。

付费

下方购买时长(按量付费没有这一栏)选择想要购买的时长(时长越长,优惠越大!),总配置费用一栏会显示当前配置的费用,确认后点击右下角的立即购买,即可享受到基础版实例的高性价比了!

AnalyticDB PostgreSQL 基础版重磅发布

五 总结

基础版单副本实例以牺牲部分特定场景(宿主机宕机)可用性为代价,提供了较低的入门门槛,购买成本,和较高的IO能力,在可用性要求不高的场景是一个极佳的选择。未来ADB PG将持续深耕性价比,提高用户使用体验。