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 的支持,描述了詳細的版本,背景,復現流程,預期結果;


舉個栗子:

11.jpg

33 bug 模板圖.jpg


// 劃重點:

  • 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,如有建議歡迎留言告訴我們~


dbleQR1.1.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章