PostgreSQL 15釋出 HashData貢獻關鍵力量

HashData發表於2023-02-13

開源資料庫PostgreSQL全球開發組近日釋出了PostgreSQL 15,該最新版本強化了資料庫操作效能,並進一步改進了包括排序等操作在內的本地和分散式部署的工作負載。


PostgreSQL 15 版本還新增了流行的 MERGE 命令、啟用 zstd 和 LZ4 壓縮支援,以及更多用於觀察、調整資料庫狀態的功能。


值得一提的是,在此次釋出的PostgreSQL 15版本中,HashData研發工程師參與了多項程式碼貢獻,成為推動PostgreSQL技術創新的關鍵力量。


系統效能持續提升
Postgre SQL是一款功能強大的開源關係型資料庫系 統,其誕生三十餘年來,憑藉可靠性、可擴充套件性、強大的功能集以及持續不斷地更新,獲得了眾多開發者的歡迎。

在最新版本中,PostgreSQL最佳化了記憶體和磁碟的排序演算法,基準測試顯示根據排序的資料型別,可獲得達25%~400%的效能加速。使用row_number、rank、dense_rank和count作為窗函式,在PostgreSQL 15也可獲得效能優勢。同時,新版本PostgreSQL中也新增了對SELECT DISTINCT查詢做平行執行的支援。

PostgreSQL 15效能改進的範疇也涵蓋了存檔和備份,增加了預寫日誌記錄(WAL)檔案對LZ4和zstd壓縮支援。這對於特定工作負載來說,可以同時在空間和效能上獲得好處,在部分作業系統中,PostgreSQL 15還增加了WAL中引用預擷取頁面的支援,提供了更快的恢復速度。

PostgreSQL內建的備份指令pg_basebackup,現在則開始支援伺服器端的備份檔案壓縮,使用者可以在gzip、LZ4和zstd中自由選擇壓縮方案。另外,PostgreSQL 15讓使用者可以使用自定義模組進行存檔,以消除使用shell層命令的額外成本。

開發者功能更新方面,PostgreSQL 15加入SQL標準MERGE指令,使開發者可以編寫條件SQL語句。這些語句可在單一語句中包含INSERT、UPDATE和DELETE操作。最新版本新增了使用正規表示式檢查字串的函式,諸如regexp_count、regexp_instr、regexp_like和regexp_substr,為開發者進行檢查和測試提供了更便利的環境。

PostgreSQL增加了邏輯複寫功能的靈活性,為釋出者提供了列過濾和行列表功能,使使用者可以選擇從表格中所要複製的資料子集。PostgreSQL 15為使用者提供了更多處理衝突的手段,例如跳過重播衝突交易,以及在偵測到錯誤時,自動停用訂閱功能等方式。

HashData貢獻關鍵力量
PostgreSQL效能持續不斷地改進和提升,得益於其全球開發者社群使用者源源不斷的貢獻。

HashData作為基於雲原生架構的資料倉儲,100% 相容開源資料庫 PostgreSQL 生態。同時,HashData研發工程師長期活躍於PostgreSQL社群,以各種形式積極參與社群的貢獻中。

2022年以來,HashData 資料庫核心研發工程師張明禮(Zhang Mingli) 參與貢獻 PostgreSQL 程式碼達 16 次,包括 7 Author Commits 8 個  Review Commits ,1個 Report Commits

其中不乏對一些PostgreSQL15中關鍵函式的修復。

例如The Internals of PostgreSQL()提到的ExecChooseHashTableSize()。做Hash Join的時候,需要預估表空間的大小,在一些極端情況下,會導致程式崩潰。張明禮在HashData產品中發現了這個潛在的問題,並且成功在PostgreSQL上進行了復現和修復。

HashData資料庫核心研發工程師張明禮貢獻資訊


始於開源,回饋開源。 HashData 將立足於雲原生資料倉儲的研發和創新,以領先的技術推動開源技術發展,從開源使用者轉向貢獻者、引領者,打造出以雲原生、分散式、分析型為核心高效能資料計算平臺,助力大資料產業蓬勃發展。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70019410/viewspace-2935035/,如需轉載,請註明出處,否則將追究法律責任。

相關文章