本文基於 DBLE 2.18.12.0 版本的Release Notes 進行詳細解讀,文章主要分爲如下四部份內容: git
1、DBLE 項目介紹程序員
2、更新概況github
3、新特性數據庫
4、升級兼容性運維
1、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壓縮包便可,若有源碼編譯需求的,能夠下載源碼包。
2、版本概況
距上一次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 模版的規範哦
3、新特性
本次重點功能更新主要增長了以下幾點:
兼容了 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 版本;
4、升級兼容性
本版本對配置文件的配置屬性作了比較嚴苛的檢查,會致使過往錯配或者漏配的配置,在重啓或者 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,若有建議歡迎留言告訴咱們~