1. 程式人生 > >DBLE Release Note 詳細解讀 2.18.12.0

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