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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Citus 11(分散式 PostgreSQL) 文件貢獻與本地執行分散式SQL
- 助力優秀人才選拔培養,為AI發展貢獻力量AI
- 如何一鍵管理多後設資料庫? 沃趣QFusion資料庫私有云貢獻硬核力量資料庫
- OpenStack X版本釋出 浪潮雲海技術貢獻再得第一
- 貢獻你的力量 開發一個Vue元件併發布到npmVue元件NPM
- 為抗擊新肺炎貢獻一份技術力量-App研發APP
- 華熙國際集團堅持初心,為社會積極貢獻公益力量
- 雲知聲智慧防疫機器人上線,為福建戰疫貢獻智慧力量機器人
- 貢獻突出 雷軍獲小米價值約15億美元股票獎勵
- 全球企業KVM開源貢獻榜釋出,騰訊雲連續五年入圍
- PostgreSQL 12.0 Beta 釋出SQL
- 小組貢獻統計表
- 如何給 swoft 貢獻程式碼
- .NET 各版本貢獻者列表
- 3、18 貢獻法學習
- “五五開黑節”燃爆假期的背後 快手貢獻了一股不可忽視的力量
- 戰碼先鋒直播預告丨參與文件貢獻,開啟OpenHarmony社群貢獻之旅
- 技術貢獻解讀 浪潮雲海OpenStack X版本技術貢獻中國第一
- SkyWalking Java 外掛貢獻實踐Java
- 再次貢獻我的心血(Wap Explorer)
- contributions該不該譯成“貢獻”?
- 為什麼要貢獻開源
- 聊聊原始碼貢獻這件大事原始碼
- ?OpenTiny Vue 3.11.0 釋出:增加富文字、ColorPicker等4個新元件,迎來了貢獻者大爆發!Vue元件
- 黃金週國內人均消費出爐:你貢獻了多少?
- 圓心科技榮獲大健康國民信賴品牌企業,為健康中國建設貢獻力量
- 圓心科技貢獻保險智慧與力量,驅動普惠健保實現強保障、優服務
- 用 Python 玩轉 GitHub 的貢獻板PythonGithub
- 如何給開源專案做貢獻
- NSA 向 Coreboot 專案貢獻程式碼boot
- Sentry 開發者貢獻指南 - 配置 PyCharmPyCharm
- Sentry 開發者貢獻指南 - Feature Flag
- redis在微服務領域的貢獻Redis微服務
- 如何為開源軟體做出貢獻
- 《關於我因為flink成為spark原始碼貢獻者這件小事》Spark原始碼
- 【喜訊】綠盟科技榮獲“IPv6傑出貢獻企業獎”
- 周深獻唱《仙劍奇俠傳七》主題曲 試玩版1月15日釋出
- 貢獻給工作狂的chrome外掛Chrome