新一代HTAP數倉,AnalyticDB for PostgreSQL 6.0版正式商業化

本文作者:陸封,阿里雲數據庫資深技術專家

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混合負載能力。

ADB PG 6.0技術解析

1、OLTP 高吞吐能力構築

ADB PG 支持分佈式事務及標準數據庫隔離級別 (RC、RR、SI)。在share-nothing場景下,可以保證全局一致的節點間數據可見性,即對MPP有全局的更新或者寫入操作時,併發查詢看到的是一致的數據版本。下圖展示是如何實現。

新一代HTAP數倉,AnalyticDB for PostgreSQL 6.0版正式商業化

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數據格式等。


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調度工具。

新一代HTAP數倉,AnalyticDB for PostgreSQL 6.0版正式商業化

2、HTAP 混合負載服務

Gartner在2014年正式提出HTAP場景概念,當前主流數據庫中,真正具備HTAP能力的只有Oracle,其支持對TB級別數據,進行高性能事務處理和數據分析查詢的混合負載。如上面介紹AnalyticDB for PostgreSQL,可以同時支持OLTP和OLAP兩種業務操作,同時採用分佈式架構,可以將HTAP能力水平擴展,支持大數據量下的混合負載。

除OLTP和OLAP性能外,為保證混合負載的穩定性,ADB PG支持完備的負載管理能力,如下所示,通過資源隊列,可以支持在線交易部分,和在線查詢部分得到高優先級的CPU響應。

新一代HTAP數倉,AnalyticDB for PostgreSQL 6.0版正式商業化


未來展望

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元

快來體驗吧!


新一代HTAP數倉,AnalyticDB for PostgreSQL 6.0版正式商業化


分享到:


相關文章: