DBLE Release Note 详细解读 2.18.12.0

丶灬走出姿态 提交于 2019-12-03 12:17:17

本文基于 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,如有建议欢迎留言告诉我们~

         

        标签
        易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
        该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!