PostgreSQL 15釋出 HashData貢獻關鍵力量
開源資料庫PostgreSQL全球開發組近日釋出了PostgreSQL 15,該最新版本強化了資料庫操作效能,並進一步改進了包括排序等操作在內的本地和分散式部署的工作負載。
PostgreSQL 15 版本還新增了流行的 MERGE 命令、啟用 zstd 和 LZ4 壓縮支援,以及更多用於觀察、調整資料庫狀態的功能。
值得一提的是,在此次釋出的PostgreSQL 15版本中,HashData研發工程師參與了多項程式碼貢獻,成為推動PostgreSQL技術創新的關鍵力量。
在最新版本中,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作為基於雲原生架構的資料倉儲,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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何向開源軟體貢獻自己的力量
- 靈析團隊 package 陸續開源,向社群貢獻力量Package
- Citus 11(分散式 PostgreSQL) 文件貢獻與本地執行分散式SQL
- 助力優秀人才選拔培養,為AI發展貢獻力量AI
- OpenStack X版本釋出 浪潮雲海技術貢獻再得第一
- 如何一鍵管理多後設資料庫? 沃趣QFusion資料庫私有云貢獻硬核力量資料庫
- 為抗擊新肺炎貢獻一份技術力量-App研發APP
- 貢獻你的力量 開發一個Vue元件併發布到npmVue元件NPM
- 蘋果的貢獻蘋果
- 雲知聲智慧防疫機器人上線,為福建戰疫貢獻智慧力量機器人
- [譯] 為 Django Framework 貢獻你的力量並沒有想象中的那麼難DjangoFramework
- 全球企業KVM開源貢獻榜釋出,騰訊雲連續五年入圍
- 團隊貢獻分分配
- 圓心科技貢獻保險智慧與力量,驅動普惠健保實現強保障、優服務
- 技術貢獻解讀 浪潮雲海OpenStack X版本技術貢獻中國第一
- 如何給 swoft 貢獻程式碼
- 為開源社群做貢獻
- 如何為PHP貢獻程式碼PHP
- 花花隊——團隊貢獻分
- 如何為 PHP 貢獻程式碼PHP
- 小組貢獻統計表
- 3、18 貢獻法學習
- TypeScript 0.9.1 釋出,新增 typeof 關鍵字TypeScript
- Sentry 開發者貢獻指南 - 配置 PyCharmPyCharm
- 聊聊原始碼貢獻這件大事原始碼
- 為什麼要貢獻開源
- 【week6】團隊貢獻分
- 成人網站的“歷史貢獻”網站
- PostgreSQL 12.0 Beta 釋出SQL
- 如何給開源專案做貢獻
- NSA 向 Coreboot 專案貢獻程式碼boot
- Sentry 開發者貢獻指南 - 測試技巧
- Sentry 開發者貢獻指南 - Feature Flag
- 如何為開源軟體做出貢獻
- redis在微服務領域的貢獻Redis微服務
- 如何向 Mozilla 開源社群做貢獻
- 淺談團隊貢獻分如何分配
- 如何給 GNU 專案貢獻程式碼