AnalyticDB for PostgreSQL (簡稱:ADB PG;中文名稱:分析型資料庫PostgreSQL版)為基于PostgreSQL核心的MPP資料倉庫服務。其具備完備的SQL文法功能,廣泛支援主流的BI、ETL工具,可以同阿裡雲RDS及大資料MaxCompute 無縫內建,實作快速建構雲上資料倉庫服務。同時廣泛相容PostgreSQL擴充生态,支援基于PostGIS 的地理空間資料分析,通過MADLib 機器學習庫實作 Machine Learning in MPP。
日前,AnalyticDB for PostgreSQL 6.0版本正式商用化。6.0版本較之前 4.3 版本在引擎核心及高吞吐事務能力上有質的提升,全面支援線上實時數倉服務,而且提供HTAP混合負載能力。
AnalyticDB for PostgreSQL 6.0 首月體驗僅需1元
點選下方快來體驗吧!
https://promotion.aliyun.com/ntms/act/adbrdsdatawarnhouseshangyehua.html?wh_ttid=pc
1、ADB PG 6.0技術解析
1、OLTP 高吞吐能力構築
ADB PG 支援分布式事務及标準資料庫隔離級别 (RC、RR、SI)。在share-nothing場景下,可以保證全局一緻的節點間資料可見性,即對MPP有全局的更新或者寫入操作時,并發查詢看到的是一緻的資料版本。下圖展示是如何實作。

ADB PG 可以實作分布式下的高并發事務處理性能,這有賴于兩個關鍵機制,MVCC及全局死鎖檢測。
MVCC為單機資料庫經典的事務并行機制,通過資料的多版本管理,可以實作對一條資料進行并發的讀和寫操作。如果對一條資料進行并發更新操作時,單機引擎會通過行級鎖LOCK機制來保證其執行的串行性和事務一緻性。
然而在分布式場景下,單節點下的行級鎖可能會導緻分布式死鎖,為解決這個問題,6.0版本實作了高性能的分布式死鎖檢測機制,保證分布式條件下,也可以支援高并發的事務操作。
通過核心引擎的優化,以及分布式下并發執行的優化,ADB PG 6.0版本的 OLTP 性能有質的提升,标準TPC-C Benchmark 在保證分布式一緻性下,可以支援 200k tpmC。TPC-B SELECT 達到 200k QPS,INSERT 50k tps,UPDATE,200k tps;DELETE 2000 tps。進而實作一個執行個體,一份資料,即可以執行高性能查詢,也支援高吞吐事務處理。
同時通過上述優化,實時高并發資料寫入更新能力也有大幅提升,DTS 實時同步性能 RPS 名額提升 3倍。
2、OLAP 分析性能優化
複制表支援:既有AnalyticDB for PG版本支援資料按兩種方式在MPP節點間分布,即按HASH分布,或者RANDOM随機均分。在 6.0版本中,對于資料倉庫中小資料量的次元表,引入了新的資料分布方式,即複制表(REPLICATED)。進而對于很多複雜分析和多表關聯處理時,通過對小表指定為複制分布,減少節點間的資料傳輸,即減少執行計劃中的資料MOTION算子。
其它分析新特性:除複制表外,6.0版本還引入了多項對分析性能有顯著提升的特性,包支援ZSTD高性能壓縮,支援列級别的權限控制,支援SCHEMA的權限控制;支援高性能的JSONB資料格式等。
2、ADB PG 6.0版本适合的場景
1、實時資料倉庫服務
傳統大資料方案,往往将ETL作業和互動查詢部署在兩套異構系統裡,資料需要同步,且無法做到實時分析。線上資料倉庫較傳統的 T+1資料倉庫,可以更好的展現資料的實時性。
這裡需要具備兩個能力:第一,生産系統資料可以在一分鐘内實時同步進入分析數倉;第二,數倉同時具備ETL批處理能力和高性能互動分析能力。
阿裡雲DTS服務支援 RDS MySQL/PostgreSQL等資料源秒級别延遲同步到ADB PG内。ADB PG 6.0版本的DTS寫入性能較4.3版本有3倍提升,可以支援每秒同步記錄RPS 5萬條。
同時 ADB PG 通過多種存儲機制(列存表,行存表),多種索引機制(B-Tree,BitMap,Hash),多種表分區機制(Range Table Parition,List Table Partition),實作即支援複雜的 ETL 任務,也支援高性能即時查詢,同時廣泛支援第三方的BI報表或ETL排程工具。
2、HTAP 混合負載服務
Gartner在2014年正式提出HTAP場景概念,目前主流資料庫中,真正具備HTAP能力的隻有Oracle,其支援對TB級别資料,進行高性能事務處理和資料分析查詢的混合負載。如上面介紹AnalyticDB for PostgreSQL,可以同時支援OLTP和OLAP兩種業務操作,同時采用分布式架構,可以将HTAP能力水準擴充,支援大資料量下的混合負載。
除OLTP和OLAP性能外,為保證混合負載的穩定性,ADB PG支援完備的負載管理能力,如下所示,通過資源隊列,可以支援線上交易部分,和線上查詢部分得到高優先級的CPU響應。
3、未來展望
ADB PG在11月份信通院舉行的分析型資料庫測試認證上,通過了100TB TPC-DS大規模性能測試認證,同時共計640個MPP并行計算節點,超過之前MPP認證最高500節點記錄。證明了 MPP 這種叢集資料庫産品,具備更優秀的“大”資料處理能力。
阿裡雲資料庫團隊持續投入ADB PG的核心競争力建構,全新的向量化引擎将在 2020年Q1釋出,較标準PostgreSQL引擎,計算性能提升5倍。同時為了實作更好的高吞吐能力,将在Q2釋出多協調節點能力,OLTP的高并發吞吐能力将實作線性擴充,支援百萬級别的 TPS 吞吐。
AnalyticDB for PostgreSQL 6.0
首月體驗僅需1元