3.22.11.0 版本

DBLE Release Notes

以下对 DBLE 3.22.11.0 版本的 Release Notes 进行详细解读。
文章主要分为以下四部分内容:
一、DBLE 项目介绍
二、新版本主要更新解读
三、完整 Release Notes
四、LTS版本更新

一、DBLE 项目介绍

DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持;
图片
DBLE

破壳日:2017.10.24

爱好:开源

技能:数据水平拆分、读写分离、分布式事务支持、多分片算法、全局 ID、IP/SQL 黑白名单

特长:MySQL 语法兼容、复杂查询优化、低改造成本、成熟稳定、成熟技术栈

  • DBLE 官方项目:

    https://github.com/actiontech/dble
  • DBLE 官方文档(已更新):

    https://actiontech.github.io/dble-docs-cn

  • 新版本 DBLE 下载地址及 Release Notes:
    https://github.com/actiontech/dble/releases
官方课程:
Tips:建议下载最新的 Releases 版本,下载 tar 压缩包即可,如有源码编译需求的,可以下载源码包。

二、新版本主要功能更新解

新版 DBLE 新增&重构功能 7 个,修复社区重要缺陷 5+ 个,其他bug 100+,和旧版本的不兼容项调整 1 处。

致谢

  • 感谢以下人士对社区的贡献:@xhailiang, @Huashusu, @13611582598, @2779382063, @zeroxxmmbm, @24pawa
  • 感谢 Github 用户提供的优质 issue,star 突破 980!
  • 感谢 QQ 群(669663113)和微信群内朋友提供的有效反馈,群用户突破千人!

主要更新:

1、支持主从结构下的延时检测

主从复制延迟检查功能,可以有效的对主从复制延迟做到监控,感知,自动化处理,来应对部分对主从数据一致性敏感的业务,防止超过容忍度的主从数据延迟导致的数据不一致问题。 

 

主从复制延迟时间超过定义延迟时间时,dble会将该salve从dbInstance的负载均衡中剔除,直到主从复制延迟时间重新恢复到定义的延迟时间内才会再次将salve加入到dbInstance的负载均衡中。 

 

详情请见文档对应章节

 

2、审计日志

在读写分离(或者分析)用户中,方便观察SQL在DBLE中具体下发到某个后端实例,耗时等信息。 

详情请见文档对应章节
3、堆外内存泄漏监控dble
dble 需要额外处理堆外内存的分配和释放。如果因为程序异常可能导致堆外内存不被释放,这些堆外内存就被泄露了。 
当越来越多的堆外内存被泄露,后果是堆内内存池满了,接着 dble 启用堆内内存代替堆外内存,从而影响 dble 的性能。 
堆外内存泄露监控功能可以用于监控堆外内存的释放和监控,便于发现泄漏点,从而可以进行相应的修复。 详情请见文档对应章节。

    三、完整 Release Notes

    特性:
    • [#3529] 添加堆外内存泄漏监视器。更多详细信息,请参见doc 。
    • [#3549] 支持主从结构下的延时检测。更多详细信息,请参见doc 。
    • [#3431] 支持审计日志。更多详细信息,请参见doc 。
    • [#3429] 支持分库分表时候的读写分离本地读功能。更多详细信息,请参见 doc 。感谢 @2779382063 贡献此需求。
    • [#3586] 支持部分场景的多表update. 更多详细信息,请参见doc 。
    • [#3587] 伪支持删除 dble 数据库. 更多详细信息,请参见doc 。
    • [#3585] 支持本地json函数的计算.更多详细信息,请参见doc 。

        缺陷修复:

        • [#3420] 当我们在 mysql-connector-java-8.0.27 里设置了useCursorFetch=true ,dble 可能会报错ArrayIndexOutOfBoundsException ,感谢 @xhailiang 报告此 bug 。
        • [#3450] 不支持 JDK 的一些参数,例如 The java.specification.maintenance.version ,感谢 @Huashusu 报告此 bug 。
        • [#3444] MultiNodeSelectHandler 可能导致dble 卡死,感谢 @13611582598 报告此 bug 。
        • [#3495] CPU 使用率高达100% 并且报出大量异常,感谢 @zeroxxmmbm 报告此 bug 。
        • [#3427] 当使用 load data local infile 导入 dble ,使用过的内存不会被回收,感谢 @24pawa 报告此 bug 。
        • 优化一些日志问题。
        • 优化一些性能问题。

            和旧版本的不兼容项:

            • [#3546] 将参数“delayThreshold”的默认单位从秒更改为毫秒。更多详细信息,请参见doc 。

            四、LTS版本更新

            对于LTS的版本,有小版本发出,修复一些bug:

            3.22.07.1

            • 不支持 JDK 的一些参数,例如 The java.specification.maintenance.version 。
            • MultiNodeSelectHandler 可能导致 dble 卡死。
            • CPU 使用率高达300%问题。
            • maxPacketSize 相关问题。
            • 当使用 load data local infile 导入 dble , 使用过的内存不会被回收。
            • 复杂查询的一些问题。
            • 心跳的优化。

            3.22.01.4

            • 不支持 JDK 的一些参数,例如 The java.specification.maintenance.version 。
            • MultiNodeSelectHandler 可能导致 dble 卡死。
            • CPU 使用率高达300%问题。
            • maxPacketSize 相关问题。
            • 当使用 load data local infile 导入 dble , 使用过的内存不会被回收。
            • 复杂查询的一些问题。
            • 心跳的优化。
            • 某些复杂查询可能引起的内存泄漏。

            3.21.10.12

            • 不支持 JDK 的一些参数,例如 The java.specification.maintenance.version 。
            • MultiNodeSelectHandler 可能导致 dble 卡死
            • CPU 使用率高达300%问题。
            • maxPacketSize 相关问题。
            • 当使用 load data local infile 导入 dble , 使用过的内存不会被回收。
            • 复杂查询的一些问题。
            • 心跳的优化。
            • 某些复杂查询可能引起的内存泄漏。

            3.21.02.13

            • 不支持 JDK 的一些参数,例如 The java.specification.maintenance.version 。
            • MultiNodeSelectHandler 可能导致 dble 卡死。
            • CPU 使用率高达300%问题。
            • maxPacketSize 相关问题。
            • 当使用 load data local infile 导入 dble , 使用过的内存不会被回收。
            • 复杂查询的一些问题。
            • 心跳的优化。
            • dble对8.0版本 MySQL的INFORMATION_SCHEMA 表处理存在问题。
            • 切换库后,第一个 select 语句发往了主。
            • where 条件为 between and 时, 查询语句带库名和不带库名,执行计划不一致。

                本次的发版报道就到这里啦~


                avatar
                100
                  Subscribe  
                提醒