DBLE Release Note 詳細解讀 2.18.12.0
本文基於 DBLE 2.18.12.0 版本的Release Notes 進行詳細解讀,文章主要分為以下四部分內容:
一、DBLE 專案介紹
二、更新概況
三、新特性
四、升級相容性
一、DBLE專案介紹
DBLE 是企業級開源分散式中介軟體,江湖人送外號 “MyCat Plus”;以其簡單穩定,持續維護,良好的社群環境和廣大的群眾基礎得到了社群的大力支援;
DBLE官方專案:
https://github.com/actiontech/dble
如對原始碼有興趣或者需要定製的功能的可以通過原始碼編譯安裝
DBLE官方文件:
https://actiontech.github.io/dble-docs-cn
可以詳細瞭解DBLE的背景和應用場景,本文未涉及到的細節都可在官方文件獲得
DBLE下載地址:
https://github.com/actiontech/dble/releases
Tips:建議下載最新的 Releases 版本,下載tar壓縮包即可,如有原始碼編譯需求的,可以下載原始碼包。
二、版本概況
距上一次10月24日程式設計師節日版一個多月,dble 社群又迎來了新的版本更新; 最新的 Release Note 請參考:
https://github.com/actiontech/dble/releases/tag/2.18.12.0%2Ftag
這次的更新可謂乾貨滿滿,新增了6個新特性,修復了60+缺陷; 版本推送快,讓社群同學直呼,跟不上學習的步伐; 同時也有社群同學疑問,為什麼有這麼多缺陷出來?
關於這點,官方的解釋:
DBLE 引入了專業的分散式測試團隊, 所以 QA 同學天天報 Bug,dble越來越穩定;
社群活躍度高,快速響應了大量的社群使用場景;
DBLE 做為企業級分散式元件,還有大量的企業使用者場景;
DBLE 的 Release Note 其實非常容易看懂,因為每條更新記錄上都會描述對應的 issue 號,可以檢視具體的 issue 描述來確認這條變更具體發生的變更細節。
大部分都issue都會遵循issue提交的模版規範填寫,比如本次釋出修復的第一個issue#819:增加了對 MySQL 官方 GUI 客戶端 Workbench 8.0 的支援,描述了詳細的版本,背景,復現流程,預期結果;
舉個栗子:
// 劃重點:
dble 繼續維持月更的良好習慣
社群 issue 修復量大,維持了快速響應的風格
更新內容可以通過具體 issue 號獲取細節
最後一條請求:大家提 issue 的時候儘量遵循 bug 模版的規範哦
三、新特性
本次重點功能更新主要增加了如下幾點:
相容了 MySQL 的 AuthSwichRequest 協議,從而增加對 MySQL 官方 GUI 客戶端 Workbench 8.0 的支援 #819
對優化器的調整:使得部分語句執行計劃可以直接透傳,無需在中介軟體重寫下推,改善了部分查詢效能 #752
create table tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) } 語法支援 #757
將 Druid 從 1.0.31 升級到 1.1.10 版本,修復了很多 SQL 解析的 bug #749
錯誤日誌列印增加了具體配置檔案屬性不對的描述,運維同學的福音,不用帶眼鏡檢視 xml 是不是大小寫不對了#905
新增 show @@ Alert 的管理器命令(在企業版內支援)
//劃重點:
1. 通過引入關係代數和查詢樹的方式, dble 解決了mycat 過往對複雜查詢處理場景不全,導致結果集不對的問題;本次對優化器的調整繼續加強,依舊遵循下面的基本宗旨:
· 結果正確性為第一要務
· 利用已有的全域性/ER關係表
· 減少中介軟體與資料庫之間的資料傳輸
· 儘量將能下發的計算下發給結點完成
· 減少中介軟體運算的空間/時間複雜度
2. 升級了 Druid ,過往老版本的 Druid 自身的 SQL 解析器存在一些 bug,社群同學如果踩到坑了,建議可以升級到 12 版本,這裡一併感謝 Druid 社群對此的貢獻:
Bug#744
https://github.com/actiontech/dble/issues/744
Bug#495
https://github.com/actiontech/dble/issues/495
Bug#316
https://github.com/actiontech/dble/issues/316
Bug#302
https://github.com/actiontech/dble/issues/302
Bug#295
https://github.com/actiontech/dble/issues/295
Bug#272
https://github.com/actiontech/dble/issues/272
Bug#258
https://github.com/actiontech/dble/issues/258
Bug#413
https://github.com/actiontech/dble/issues/413
3. 關於企業版功能的解釋:
· 提供影象化的安裝配置介面
· 資料庫的高可用
· 監控告警功能
· dble 叢集功能
· dble 核心是完全開源免費的
· 基於 dble 核心,開發團隊還會維護 dble 的企業套件
· 通過企業付費模式來維持社群的運營
· 監控告警的社群功能已經在路上了,不久大家應該能用上
4. 修復的 bug 相對比較零散,大家可以通過檢視具體的 issue 號來簡單瞭解是否命中來決策是否需要升級到 12 版本;
四、升級相容性
本版本對配置檔案的配置屬性做了比較嚴苛的檢查,會導致過往錯配或者漏配的配置,在重啟或者 reload config 的時候失敗;為此我們在功能更新裡貼心的增加了:錯誤日誌打印出具體錯誤配置屬性#905,建議您升級的時候做好過往配置的驗證;#579
雖然我們升級了 durid,但是當前版本依然會有部分 SQL 解析場景的問題,注意避讓 #788
Zookeeper 增加了多例項的支援,通過 myid.properties ipAddress=$ip:$port,$ip:$port 逗號隔開的方式可以配置,因此舊的 ipAddress 和 port 的配置方式被遺棄,升級的時候做好調整#766
以上內容是針對1月7日 dble 新版 2.18.12.0 的詳細解讀,後續我們也會有系列文章幫助大家更好的使用dble,如有建議歡迎留言告訴我們~