openGauss 5.0.0版本正式發(fā)布!

3月31日,openGauss 5.0.0版本正式上線!
openGauss 5.0.0是openGauss發(fā)布的第三個LTS版本,版本生命周期為3年。openGauss 5.0.0版本與之前的版本功能特性保持兼容,在內(nèi)核能力、工具鏈、兼容性方面全面增強。

發(fā)行說明請參考官網(wǎng):
https://docs.opengauss.org/zh/docs/latest/docs/Releasenotes/Releasenotes.html
一、內(nèi)核能力增強
1?企業(yè)級特性
SQL PATCH
當(dāng)業(yè)務(wù)語句出現(xiàn)由于數(shù)據(jù)等因素變化引起執(zhí)行計劃跳變,且出現(xiàn)嚴(yán)重的性能劣化,用戶可通過SQL PATCH機制在線實施修復(fù),業(yè)務(wù)無需版本升級,無感知解決計劃跳變等疑難問題。
SQL Patch功能通過在優(yōu)化器階段計劃生成之前對查詢解析樹的HintState成員進(jìn)行替換,達(dá)成在計劃生成階段產(chǎn)生最佳執(zhí)行計劃的效果。在接口層面,用戶可以使用SQL PATCH的創(chuàng)建、激活、禁用、刪除、顯示等接口,實現(xiàn)SQL PATCH全生命周期管理。
分區(qū)表能力持續(xù)增強
List分區(qū)鍵最大數(shù)由1擴展為16列;
Range分區(qū)鍵最大數(shù)由4擴展為16列;
分區(qū)鍵底層重構(gòu)LRHS為統(tǒng)一分區(qū)鍵內(nèi)存結(jié)構(gòu)
兼容創(chuàng)建分區(qū)表COLUMNS、VALUES IN、PARTITIONS num、SUBPARTITIONS num、MAXVALUE、KEY語法
優(yōu)化跨分區(qū)的DDL和DML并發(fā)查詢的算法,提升并發(fā)查詢的性能
內(nèi)置gstack工具
客戶場景中g(shù)db、gstack等工具都是無法使用的,當(dāng)系統(tǒng)出現(xiàn)hang、慢等問題時,無法通過調(diào)用棧進(jìn)行進(jìn)一步的定位,針對以上痛點,通過復(fù)用openGauss操作系統(tǒng)信號,在信號處理函數(shù)中獲取調(diào)用棧的方式實現(xiàn)內(nèi)置gs_stack()函數(shù),方便用戶打印線程定位疑難問題。
事件觸發(fā)器
客戶場景中常常存在某個表結(jié)構(gòu)發(fā)生變化時,希望在另一個或幾個表上執(zhí)行一些相關(guān)操作的需求。而通過事件觸發(fā)器可以捕獲當(dāng)前數(shù)據(jù)庫下的ddl操作以及ddl操作的目標(biāo)對象,當(dāng)目標(biāo)對象發(fā)生執(zhí)行指定操作的事件后,觸發(fā)用戶自定義的存儲過程,處理業(yè)務(wù)期望的后續(xù)任務(wù)。目前已支持捕獲的DDL事件包括:ddl_command_start、ddl_command_end、sql_drop、table_rewrite四類。
2?高性能
基礎(chǔ)算子性能提升
掃描算子、聚集算子性能優(yōu)化,實現(xiàn)TPC-H 100G數(shù)據(jù)量場景端到端性能提升37%.
Parser優(yōu)化:優(yōu)化Parser中關(guān)鍵字的搜索方法;
表達(dá)式及算子優(yōu)化:表達(dá)式框架展平及算子性能優(yōu)化;
Inner Unique優(yōu)化;
謂詞優(yōu)化:通過謂詞等價推理,獲得新的下推謂詞;
掃描算子優(yōu)化:對索引掃描、全表掃描算子做優(yōu)化;
聚集算子優(yōu)化:對聚集算子做性能優(yōu)化。
3?高可用
CM支持VIP管理
支持業(yè)務(wù)配置VIP連接數(shù)據(jù)庫,當(dāng)主機故障,發(fā)生主備切換時,業(yè)務(wù)連接可自動重連到新的主機(毫秒級別);
當(dāng)數(shù)據(jù)庫出現(xiàn)雙主時,通過VIP連接數(shù)據(jù)庫可確保連接唯一的主機,降低雙主丟數(shù)據(jù)的風(fēng)險。
CM支持兩節(jié)點部署
通過引入第三方網(wǎng)關(guān)IP,有效解決CM集群兩節(jié)點部署模式下自仲裁問題,支持CMS和DN;
同時支持動態(tài)配置CM集群故障切換策略和數(shù)據(jù)庫集群腦裂故障恢復(fù)策略,從而能夠盡可能確保集群數(shù)據(jù)的完整性和一致性。
CM磁盤只讀檢測能力增強
只讀狀態(tài)從數(shù)據(jù)庫獲取,保證準(zhǔn)確性;
只讀仲裁只仲裁當(dāng)前超過閾值的實例,其他節(jié)點不受影響;
主機只讀保護(hù)后自動主備切換,選可用備機升主保證集群能正常提供工作。
CM易用性提升
支持一鍵式關(guān)閉CM集群服務(wù);
支持和內(nèi)核的安裝部署解耦;
支持按事件調(diào)用用戶自定義腳本;
支持CM組件單獨升級,增強數(shù)據(jù)庫集群可靠性;
CM根據(jù)配置信息,支持用戶自定義組件的監(jiān)控和管理。
4?高智能
DBMind自治運維系統(tǒng)持續(xù)增強
異常檢測支持自配置
為適應(yīng)用戶實際場景和避免資源占用,DBMind支持系統(tǒng)、數(shù)據(jù)庫上的異常檢測自配置,用戶可以在運行前或運行過程中實時增加、暫?;騽h除相應(yīng)的異常檢測項,其中異常檢測項支持復(fù)合不同的異常檢測算法,異常檢測會根據(jù)不同的異常檢測器的結(jié)果取交集,這樣為適配用戶具體使用場景提供了支持。
5?高安全
支持用戶級別審計設(shè)置
支持用戶級別審計日志,對指定用戶的所有SQL語句記錄審計日志;
支持按客戶端信息配置審計開關(guān),對指定的客戶端APP及IP不記錄審計日志;
支持對風(fēng)險較高的系統(tǒng)函數(shù)調(diào)用記錄審計日志
6?資源池化
計算池化
計算池化支持多樣化算力,通過shardingSphere構(gòu)建openGauss分布式計算能力,實現(xiàn)32節(jié)點>2100W tpmC。
存儲池化
存儲池化支持多節(jié)點共享存儲和池化能力,支持高端企業(yè)存儲?;诜植际酱鎯Ψ?wù)DSS組件,實現(xiàn)多節(jié)點共享一份數(shù)據(jù),存儲效率提升50%。
內(nèi)存池化
基于分布式內(nèi)存服務(wù)DMS組件實現(xiàn)多節(jié)點內(nèi)存池化功能,通過高速互聯(lián)網(wǎng)絡(luò)交換頁面實現(xiàn)多節(jié)點數(shù)據(jù)實時一致,并結(jié)合RoCE硬件RDMA加速,實現(xiàn)極致的低時延高吞吐通信。
集群管理
基于雙重心跳檢測、共享盤仲裁、IO Fencing等技術(shù)實現(xiàn)集群節(jié)點故障自動檢測、恢復(fù)和隔離,為資源池化提供一個高可靠的運行環(huán)境。
二、DataKit工具鏈增強
DataKit定位為openGauss的數(shù)據(jù)全生命周期生產(chǎn)力工具,支持?jǐn)?shù)據(jù)全生命管理,覆蓋openGauss部署、遷移、開發(fā)、運維等階段;
DataKit是openGauss的一個工具集,采用B/S軟件架構(gòu),提供基礎(chǔ)的服務(wù)器、數(shù)據(jù)庫實例等軟硬件資源管理能力;
同時支持通過按需部署功能插件擴展能力,目前社區(qū)提供安裝部署、數(shù)據(jù)遷移、數(shù)據(jù)開發(fā)、智能運維等功能插件;
DataKit也是一個工具開發(fā)平臺,支持用戶根據(jù)插件接口和規(guī)范實現(xiàn)自己的特有功能。功能插件支持動態(tài)加載到DataKit上運行,也支持從DataKit上動態(tài)卸載。插件支持調(diào)用平臺和其他插件的開放接口獲取相應(yīng)數(shù)據(jù)和功能,以實現(xiàn)快速構(gòu)建特色功能。
1?資源中心
資源管理作為DataKit的基座,為插件提供最基礎(chǔ)的資源信息,讓插件基于資源進(jìn)行上層的業(yè)務(wù)開發(fā)和更為復(fù)雜的功能實現(xiàn)。當(dāng)前支持的資源:
數(shù)據(jù)庫實例(包括openGauss和實例)
物理機資源及可用區(qū)管理。
2?遷移能力
MySQL一站式遷移工具gs_rep_portal
gs_rep_portal支持對接debezium+kafka和gs_mysync,集成全量遷移、增量遷移、數(shù)據(jù)校驗?zāi)芰?,實現(xiàn)全量遷移、增量遷移、反向遷移、數(shù)據(jù)校驗完整方案打通;
支持并行遷移任務(wù)流創(chuàng)建,支持用戶設(shè)定自定義遷移計劃,任務(wù)根據(jù)用戶設(shè)定的執(zhí)行計劃順序的自動執(zhí)行遷移的每個步驟;
支持遷移進(jìn)度展示(總量、剩余量、剩余時間、復(fù)制時延等),支持遷移失敗語句的展示。
MySQL全量遷移工具gs_mysync
全量遷移工具gs_mysync(原chameleon),新增進(jìn)度展示功能、可調(diào)試增強,全量遷移性能大于300M/s,即1T/h。
MySQL增量遷移和反向遷移工具gs_replicate
增量遷移和反向遷移收編到Dezebium+kafka,對外統(tǒng)一到gs_replicate工具中,增量遷移性能大于3W tps。
基于默克爾樹的數(shù)據(jù)校驗工具gs_datacheck
數(shù)據(jù)校驗性能達(dá)到70MB/s;
支持行級、列級、表級數(shù)據(jù)校驗;
支持對全量遷移導(dǎo)出的數(shù)據(jù)做直接讀取校驗。
3?業(yè)務(wù)建模
支持可視化算子操作和編輯,sql語句的預(yù)覽和運行,數(shù)據(jù)可視化和生成報表,它作為DataKit的可插拔插件開發(fā)。主要功能:
提供拖拽、連線的操作方式完成數(shù)據(jù)流算子的組裝、配置。
支持讀取單步算子執(zhí)行結(jié)果為用戶生成自定義圖表,并可以記錄快照。
可將一個或多個圖表快照通過自由排布的方式構(gòu)建報表,并可通過外鏈分享給游客用戶。
4?智能運維
支持慢sql診斷,日志檢索,多維度運維指標(biāo)監(jiān)控。它作為DataKit的可插拔插件開發(fā)。主要功能:
實例監(jiān)控插件:支持監(jiān)控 openGauss 數(shù)據(jù)庫以及數(shù)據(jù)庫所在服務(wù)器,本特性主要關(guān)注數(shù)據(jù)庫和操作系統(tǒng)監(jiān)控指標(biāo)和 TOPSQL 捕獲和分析。與其他需求及特性的交互分析:支持關(guān)聯(lián) SQL 診斷功能,進(jìn)入 TOPSQL 詳情頁面,用戶可觸發(fā)創(chuàng)建診斷任務(wù),對 TOPSQL 進(jìn)行診斷分析。
日志檢索插件:為openGauss用戶提供OS日志、數(shù)據(jù)庫日志統(tǒng)一檢索入口。
SQL診斷插件:為openGauss用戶提供慢SQL監(jiān)控、問題SQL診斷分析的功能。
5?安裝部署
使用DataKit的安裝功能可以讓用戶能夠快速上手體驗openGauss企業(yè)級數(shù)據(jù)庫功能,包括在企業(yè)環(huán)境中安裝、部署、卸載、各類openGauss集群,減少了用戶的學(xué)習(xí)成本和運維成本,實現(xiàn)了對openGauss各種常見操作的可視化,屏蔽了不同openGauss版本中的配置差異。它作為DataKit的可插拔插件開發(fā),主要功能:
實現(xiàn)不同版本的openGauss安裝、不同版本的升級;實現(xiàn)簡單快捷的數(shù)據(jù)庫日常運維。
實現(xiàn)在頁面上查看openGauss數(shù)據(jù)庫基本狀態(tài)、實時數(shù)據(jù)推送等。
6?數(shù)據(jù)開發(fā)
業(yè)務(wù)開發(fā) (Web Data Studio) 是一個基于B通用集成開發(fā)環(huán)境,它以插件形式安裝部署于DataKit,簡化了openGauss 數(shù)據(jù)庫的開發(fā)和管理工作。
7?調(diào)試能力
它允許數(shù)據(jù)庫開發(fā)&DBA在DataKit上實現(xiàn)存儲過程(函數(shù))的開發(fā)與調(diào)試,它作為DataKit的可插拔插件開發(fā),主要功能:
創(chuàng)建和管理數(shù)據(jù)庫的存儲過程。
在線可視化調(diào)試存儲過程。
三、兼容能力增強
兼容能力增強兼容MySQL包括數(shù)據(jù)類型、操作符、系統(tǒng)函數(shù)、DDL、DML、DCL、PL/SQL等在內(nèi)的絕大部分常用語法,實現(xiàn)應(yīng)用近似零修改遷移
5.0.0版本新增對以下語法點的支持(只列舉部分典型語法,詳情請參見《數(shù)據(jù)遷移指南》中“MySQL兼容性說明”章節(jié)):
數(shù)據(jù)類型:(1)支持XML類型;(2)支持binary數(shù)據(jù)類型及運算符;(3)支持tinyint
系統(tǒng)函數(shù):ADDDATE、ADDTIME、CONVERT_TZ、CURDATE、DATE_ADD、DATE_FORMAT、JSON_ARRAY、JSON_OBJECT、JSON_QUOTE、JSON_EXTRACT、DATABASE、ROW_COUNT、ANY_VALUE等;
DDL:(1)支持schema級、表級、列級設(shè)置和修改默認(rèn)字符集和排序規(guī)則,支持對表的字符集進(jìn)行轉(zhuǎn)換;(2)支持在表第一列前面或者在指定列后面添加列;(3)支持隱藏索引,設(shè)置索引可見性;(4)支持字段大小寫敏感;
DML:(1)支持對select into后面帶OUTFILE、DUMPFILE和變量;(2)支持LOAD DATA語句導(dǎo)入表數(shù)據(jù);(3)distinct支持order by帶表達(dá)式;(4)select支持force關(guān)鍵字強制走索引;(5)視圖支持插入、刪除和更新;(6)支持default函數(shù)用于SQL語句;
DCL:(1)支持set transaction語法,設(shè)置會話和全局的隔離級別;(2)支持事件調(diào)度器,支持創(chuàng)建、修改、刪除event操作;(3)支持show status、show warning和show errors等;(4)支持 'user'@'host' 形式指定用戶;
PL/SQL:(1)支持WHILE循環(huán)帶標(biāo)簽;(2)支持CASE WHEN condition和IF_THEN控制語法;(3)支持cursor相關(guān)語法;(4)存儲過程支持REPEAT和RETURN;?(5)支持create function前面不加as begin,末尾不加end language plpgsql;(6)支持declare handler、continue handler、exit handler;
其他語法兼容:(1)支持用戶自定義變量保存select語句的結(jié)果;(2)支持utf8_general_ci、utf8_bin、utf8_unicode_ci、binary等字符序;(3)支持utf8mb4字符集;(4)支持操作符行為和MySQL一致;(5)支持雙引號表示字符串。
四、其他企業(yè)級特性增強
1?中間件
shardingSphere支持多種模式讀寫分離,支持跨庫查詢
支持事務(wù)內(nèi)語句的讀寫分離能力;
支持聚集算子計算能力,實現(xiàn)數(shù)據(jù)庫跨分片表關(guān)聯(lián)查詢功能。
openGauss+shardingSphere 32節(jié)點組網(wǎng)性能>2100W tpmC
shardingSphere后端采用異步JDBC降低連接消耗、openGauss采用資源池化架構(gòu)提高單分片能力,使用32個鯤鵬920(128核)節(jié)點組網(wǎng)(1*shardingsphere-proxy ,11*shardingsphere-jdbc,20*openGauss)時,完美sharding性能>2100萬tpmc。
2?應(yīng)用開發(fā)接口
JDBC能力增強
支持集群狀態(tài)變化時觸發(fā)快速負(fù)載均衡;
支持開啟心跳線程定時維護(hù)主節(jié)點心跳,在主節(jié)點故障后快速kill舊連接、對新連接連到新主上
五、文檔結(jié)構(gòu)優(yōu)化
為了方便用戶更好地使用openGauss,按用戶角色、使用場景優(yōu)化了文檔結(jié)構(gòu),增加快速入門、應(yīng)用開發(fā)指南、數(shù)據(jù)庫管理指南、數(shù)據(jù)庫運維指南、性能調(diào)優(yōu)指南、AI特性指南、插件參考、SQL參考和數(shù)據(jù)庫參考,用戶可以根據(jù)使用場景快速獲取openGauss信息。
快速體驗:https://docs.opengauss.org/zh/docs/5.0.0/docs/GettingStarted/GettingStarted.html
開放治理,共建、共享、共治最具創(chuàng)新力的數(shù)據(jù)庫開源社區(qū)
作為一個開源社區(qū),openGauss秉承共建、共享、共治的理念。通過開放、成熟的治理,與企業(yè)、伙伴、開發(fā)者,共同建設(shè)開源社區(qū)。截至目前,openGauss社區(qū)用戶超過160萬,230多家企業(yè)簽署企業(yè)貢獻(xiàn)者協(xié)議CLA加入到社區(qū),來自企業(yè)和高校的4400名開發(fā)者積極參與openGauss社區(qū)貢獻(xiàn),聯(lián)合伙伴累計完成500+個行業(yè)解決方案適配,覆蓋政府、金融、運營商等10余個行業(yè)。
感謝openGauss社區(qū)所有貢獻(xiàn)者
“孤舉者難起,眾行者易趨”。我們衷心感謝來自社區(qū)550名參與openGauss 5.0.0版本開發(fā)的開發(fā)者們。

感謝參與和協(xié)助openGauss項目的所有成員,包括華為、清華大學(xué)、云和恩墨、海量數(shù)據(jù)、中國聯(lián)通、中國移動、南大通用、粵港澳大灣區(qū)國家技術(shù)創(chuàng)新中心、軟通動力、中軟國際、北京超圖軟件股份有限公司、民生銀行、神舟通用、易寶軟件、北京思斐軟件技術(shù)有限公司、超聚變數(shù)字技術(shù)有限公司、浩聯(lián)云(廣東)科技有限公司、西安智訊數(shù)據(jù)網(wǎng)絡(luò)有限公司、西安電子科技大學(xué)、天津大學(xué)、電子科技大學(xué)計算機科學(xué)與工程學(xué)院、寧夏大學(xué)信息工程學(xué)院、華南理工大學(xué)軟件學(xué)院、中山大學(xué)計算機學(xué)院、中央民族大學(xué)信息工程學(xué)院、西安利他網(wǎng)絡(luò)有限公司、深信服科技股份有限公司等組織單位(排名不分先后)。是你們的辛勤付出使得版本順利發(fā)布,也為openGauss更好地發(fā)展提供可能。