节省50%存储成本,入门级数仓也能拥有强劲性能

作者阿里云代理 文章分类 分类:linux图文教程 阅读次数 已被围观 2160


1

AnalyticDB PostgreSQL高性能基础版


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

 

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

2

核心架构设计


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


ADB PG部署结构

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

master和segment


3

产品优势


性能优势


高性能【基础版】 采用单副本相比高可用版双副本设计,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

高性能和基础版的TPCH对比

可以看到由于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模式为出现概率最大的场景(远大于另外两个场景),而该场景下高性能【基础版】恢复速度当前要优于高可用版。

4

创建高性能【基础版】实例


可选地域


第一批高性能【基础版】实例覆盖5个核心区域, 用户可在北京可用区I,杭州可用区J,上海可用区L,深圳可用区F,新加坡可用区C 等5个可用区抢先使用。

 

 

创建高性能【基础版】实例

 

 

选择实例规格


实例规格

 

在首批开通的5个核心可用区中, 在实例系列提供“高性能【基础版】”实例的选项。由于对单点计算能力的加强,ADB PG进一步降低了起步门槛,允许最小的计算节点从2个节点起,综合起步成本降低了59%。

实例节点选项

配置存储空间置后,可选择想要购买的时长(若有稳定需求,建议购买一年期,享85折优惠),总配置费用一栏会显示当前配置的费用,确认后点击右下角的立即购买,即完成创建!

高性能【基础版】实例折扣


5

总结


高性能【基础版】实例最大程度的适配非核心业务的IO密集型分析场景,大幅降低了产品的入门门槛,使用成本。未来ADB PG将持续深耕性价比,提高用户使用体验,助力企业解锁数据价值!

 

 

 

 

本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: