PostgreSQL全球開發小組於昨日(1月7日)釋出資料庫PostgreSQL 9.5,新版資料庫新增了UPSERT指令、資料列層級安全性控管(Row Level Security),以及多項大資料分析功能。
PostgreSQL核心團隊主要維護成員Bruce Momjian表示,過去PostgreSQL是一種線上交易處理(OLTP)資料庫,而新版PostgreSQL則更接近於純分析平臺,幾乎可做到線上資料分析(Live Data Analytics)。
新版PostgreSQL為了能夠處理資料倉儲等級的工作,也為了和其他大資料系統整合,新增了幾項資料分析功能,包括索引系統BRIN(Block Range Index)、排序演算法Abbreviated Keys、SQL子句(包含CUBE、ROLLUP和GROUPING SETS等)、查詢引擎功能Foreign Data Wrappers(FDWs)等。
索引系統BRIN可以產生非常小的索引指標,來形容資訊的範圍,例如極大值和極小值,如此,在廣大的資料列中,可以在明確的範圍內查詢資料。
而新的排序演算法Abbreviated Keys加快了文字和數值資料類型的排序,根據PostgreSQL官方資料表示,新排序演算法可以加速需要排序大量資料的查詢2至12倍,索引建立也加快了20倍。
在新增的SQL子句CUBE、ROLLUP和GROUPING SETS等功能,可讓使用者建立多層次摘要(Multiple Levels of Summarization)的報表,其中CUBE緊密地整合更多線上分析處理(Online Analytic Processing,OLAP)的報表工具,例如Tableau。
另外,新增的FDWs功能允許PostgreSQL資料庫在如Hadoop和Cassandra等大資料系統中,當作查詢引擎(Query Engine)。
除此之外,PostgreSQL 9.5也新增了UPSERT指令,類似其他資料庫系統的MERGE指令,UPSERT結合了INSERT和UPDATE指令,可讓資料庫檢查新增的資料是否與既有資料衝突,如果有衝突可以更新既有資料列,而非只是傳回錯誤訊息。此功能也突破了從MySQL資料庫移轉至PostgreSQL資料庫的障礙。
而新版PostgreSQL在資料列層級安全性控管上,允許特定資料表可以應用安全性政策,應用資料列層級安全性控管的資料表的資料,只有特定權限的使用者可以查詢和讀取。