暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

分布式 | DBLE 3.22.11.0 及其他 LTS 版本发布!

576

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 使用了direct memory(堆外内存)用于加速io读写,代价是 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 时, 查询语句带库名和不带库名,执行计划不一致。

本次的发版报道就到这里啦~
近期好文:
分布式 | 令人头疼的堆外内存泄露怎么排查?
分布式 | 从 dble 日志分析到 MySQL 源码学习
分布式 | 利用 TiDB DM 将数据从 MySQL 迁移至 DBLE

分布式 | 实战:将业务从 MyCAT 平滑迁移到 dble


更多关于 DBLE 的好文,关注公众号菜单栏“社区信息”-“开源产品”,进行查看~


本喵雍正,女
喵生艰辛
为了养家糊口,年纪轻轻就来到社区打工
工作使我积极向上、充满斗志、食量大增!
我的意思是,本喵缺的是口粮么?
是你们的鼓励呀!

最后修改时间:2023-01-16 09:32:31
文章转载自爱可生开源社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论