天天看點

雲栖幹貨回顧 | 更強大的實時數倉建構能力!分析型資料庫PostgreSQL 6.0新特性解讀

阿裡雲 AnalyticDB for PostgreSQL 為采用MPP架構的分布式叢集資料庫,完備支援SQL 2003,部分相容Oracle文法,支援PL/SQL存儲過程,觸發器,支援标準資料庫事務ACID。AnalyticDB PG通過行存儲、列存儲、多種分區表和索引等機制,可以支援海量資料的傳遞分析,也支援ETL批處理任務。

AnalyticDB PG 6.0 版本大幅提升并發事務處理能力,更好的滿足實時數倉場景,同時通過事務鎖等優化,完備支援HTAP業務。AnalyticDB PG 6.0的核心從PostgreSQL 8.2更新到9.4,更好的相容PostgreSQL社群生态。

免費公測!

阿裡雲 AnalyticDB for PostgreSQL 6.0 版本在 公測期間(2019/10/1-2019/21/31)任意使用者可通過如下連結申請一個免費試用執行個體:

https://page.aliyun.com/form/act242960298/index.htm

AnalyticDB for PG 6.0 重要特性:

PostgreSQL 核心更新

AnalyticDB for PG 6.0版本較之前 4.3 版本,PostgreSQL核心從 8.2版本更新到9.4版本,大量PostgreSQL新特性包括:

  • JSONB類型:在既有JSON類型上,支援JSONB存儲格式,實作高性能的JSON資料處理及更豐富的JSON函數。
  • UUID類型:支援 UUID 資料類型。
  • GIN索引和SP-GiST索引:可以更高性能支援模糊比對,以及中文檢索。
  • 細粒度權限控制:支援了 schema 級别,以及 column 列級别權限控制和授權。
  • 高效Vacuum:Vacuum在做空間釋放時,可以暫時跳過被加鎖的頁面,而稍後再次輪詢通路對其Vacuum,進而整體減少被阻塞的狀況。
  • DBLink:支援跨庫的查詢通路。
  • Recursive CTE:實作SQL的遞歸查詢功能,用于處理邏輯上為階層化或樹狀結構的資料,友善對該類資料進行多級遞歸查詢。
  • PL/SQL 增強:支援RETURN QUERY EXECUTE語句,可以動态即刻執行SQL;支援 Anonymous blocks 匿名塊定義。

HTAP (OLAP+OLTP)能力提升

通過引入全局死鎖檢查機制 (global deadlock detection),會動态的收集和分析鎖的資訊來檢查和解除全局死鎖。基于此,HEAP表的更新修改操作可以隻借助細粒度行鎖完成,支援大并發的更改删除查詢,提高整個系統的并發度和吞吐量。同時還對事務鎖進行了優化,減少了開始事務和結束事務時的鎖競争。ADB PG 6.0在既有高性能 OLAP分析基礎上,也可以提供高吞吐交易事務處理。

典型 OLTP 場景 TPC-C 達到 10w tpmc;Sysbench 支援 select 15w tps, insert 5w tps,update 2w tps。

OLAP 新功能特性

  1. 支援複制表(replicated table):針對數倉中的次元表,通過建立複制表(DISTRIBUTED REPLICATED clause),可以大量減少資料傳輸,提升查詢效率。
  2. 支援zstandard壓縮算法:ZSTD壓縮算法,較之前 zlib 壓縮算法,提升三倍的壓縮和解壓性能。