天天看點

AnalyticDB PostgreSQL 基礎版重磅釋出一 背景二 簡介三 對比四 開通基礎版執行個體五 總結

一 背景

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%
常用配置價格 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 78
7 260 192
8 320 152
9 284 175
10 238 162
11 27 20
12 228 111
13 61 67
14 92
15 202 79
16 52 43
17.1 667 478
17.2 345 170
18 413 213
19 172 71
217
21 645
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将持續深耕成本效益,提高使用者使用體驗。