分布式 | DBLE 3.23.04.0 版本发布!
以下对 DBLE 3.23.04.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
官方课程:
-
点击学习《DBLE 快速上手》,实操视频 + 图文稿!
-
点击学习《DBLE 公开课》进阶课程
Tips:建议下载最新的 Releases 版本,下载 tar 压缩包即可,如有源码编译需求的,可以下载源码包。
二、新版本主要功能更新解读
新版 DBLE 新增&重构功能 6 个,修复社区重要缺陷 5+,其他 bug 100+,和旧版本的不兼容项调整 1 处。
致谢:
-
感谢 Github 用户提供的优质 Issue,Star 突破 1024!
-
感谢 QQ 群(669663113)和微信群内朋友提供的有效反馈,群用户突破千人!
主要更新:
1、针对分片表 JOIN 全局表,支持多表 UPDATE/DELETE
当 UPDATE 满足以下判断条件时,部分复杂 UPDATE 语句会在确保数据正确的情况下被下发执行。
-
包括 UPDATE 语句操作多表的时候
-
操作的全是全局表,并拥有同样的分片范围,并且 WHERE 条件中不含有子查询
-
所有操作的表都有条件显式路由到同一个节点,并且 WHERE 条件不含有子查询
-
-
包括 UPDATE 语句操作单表,但是 WHERE 条件中包含子查询时
-
被操作的表格是单节点表,WHERE 条件中的所有表格都有条件能路由到同一个节点
-
被操作的表格是全局表或者分片表,其余所有表格都是全局表,并且分片范围都能覆盖被操作的表格(需注意“分片范围”指的是 配置文件里面配的表分片范围,而不是经过 WHERE 二次筛选后的范围)
-
详情请见文档对应章节。
2、TCP 保活相关参数
DBLE 在启动时会创建与 MySQL 通信的连接池,但是这些连接可能在 TCP 三次握手时由于某些情况丢失了第三次握手的信息。此时这些连接被 MySQL 直接丢弃,而在 DBLE 侧并无感知,导致 DBLE 的连接池的连接的数量达不到预期设置的值,导致 DBLE 出现异常。
Linux 本身就有 keep-alive 机制,并提供对应参数控制,但是这是系统级别参数,一旦直接修改可能影响其他应用影响面较大。为了解决这个问题,DBLE 在 bootstrap.cnf
中提供相关参数配置并且只影响 DBLE 内的连接。
目前该功能为实验功能,对 JDK 版本有要求。
详情请见文档对应章节。
三、完整 Release Notes
特性:
-
[#3738] 针对分片表 JOIN 全局表,支持多表 UPDATE/DELETE。更多详细信息,请参见 doc,doc
-
[#3743] 对读写分离模式的
-DfakeMysqlVersion
设置规则进行了调整。更多详细信息,请参见 doc -
[#3742] 调整最小栈值(-Xss)的默认值
-
[#3739] 支持调整 TCP 相关参数(实验功能)。更多详细信息,请参见 doc
-
[#3727] 优化全局序列加载内部逻辑
-
[#3745] 加强/优化支持 SSL 的内部逻辑代码,以及可能发展成内存泄漏的场景处理
缺陷修复:
-
[#3741] 读写分离中,当数据库的自增步长不等于 1 时,使用 JDBC 连接 DBLE 插入错误数据
-
[#3744] 读写分离中,执行大包语句不受 DBLE 设置的
maxPacketSize
的限制 -
[#3746] 扩缩容
connection-pool-evictor-thread
线程偶现退出 -
[#3747] 主从切换后,业务端开启事务进行 ROLLBACK 时,部分数据没有被回滚
-
支持在管理端查询表时可以设置列别名
-
调整一些日志打印
-
解决一些 NPE 问题
和旧版本的不兼容项:
-
[#3743] 对读写分离模式的
-DfakeMysqlVersion
设置规则进行了调整。更多详细信息,请参见 doc
四、LTS 版本更新
对于 LTS 的版本,有小版本发出,修复一些 bug:
3.22.07.3
我们发布了 3.22.07.3,这是个基于 3.22.07.01 的 bug 修复版本。
-
某些场景下执行大包语句出现 hang、Lost connection...
-
两张表通过非分片键关联查询,出现内存泄露
-
LOAD DATA local
执行报错 -
主实例网络故障时,执行复杂查询导致 Business 线程 hang 住
-
一些心跳问题
3.22.01.5
我们发布了 3.22.01.5,这是个基于 3.22.01.4 的 bug 修复版本。
-
改善从连接池中获取连接的逻辑
-
后端连接初始化时出现半连接场景的处理
-
某些场景下执行大包语句出现 hang、Lost connection...
-
支持 UPDATE/DELETE 多表针对分片表 JOIN 全局表
-
主从切换后,业务端开启事务进行 ROLLBACK 时,部分数据没有被回滚
-
执行 LOAD DATA 出现 Lost connection... 和其他报错
-
解决一些 NPE 问题
3.21.10.14
我们发布了 3.21.10.14,这是个基于 3.22.10.12 的 bug 修复版本。
-
开启 SQL 统计,并发线程没有抢到锁陷入死循环引起 CPU 使用率过高
-
连接池的扩缩容线程
connection-pool-evictor-thread
意外退出 -
改善连接池中取连接的逻辑
-
后端连接初始化时出现半连接场景的处理
-
某些场景下执行大包语句出现 hang、Lost connection...
-
支持 UPDATE/DELETE 多表针对分片表 JOIN 全局表
-
主从切换后,业务端开启事务进行 ROLLBACK 时,部分数据没有被回滚
-
慢日志过多阻塞,导致心跳失败、创建连接失败
引用参考
[1] UPDATE:https://actiontech.github.io/dble-docs-cn/3.SQL_Syntax/3.2_DML/3.2.04_UPDATE.html
[2] DELETE:https://actiontech.github.io/dble-docs-cn/3.SQL_Syntax/3.2_DML/3.2.03_DELETE.html
[3] 版本变更:https://actiontech.github.io/dble-docs-cn/1.config_file/1.10_version_change.html
[4] TCP 参数:https://actiontech.github.io/dble-docs-cn/2.Function/2.38_tcp_parameter.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开源编解码器 SVT-AV1 1.6.0 发布
英特尔和 Netflix 于 2019 年合作推出了 SVT-AV1,其中 SVT 是 Scalable Video Technology(可扩展视频技术)的缩写。 SVT-AV1 作为由 Intel、Netflix 主导的 AV1 开源编解码器,致力于 AV1 编码器在服务端的高速实现,尤其是其多线程并发能力,适用于服务端的点播、直播转码,目前已被 AOM 软件实践专家组(Software Implementation Work Group, SIWG)确定为基本代码库,致力于开发可落地实用场景的 AV1 软件编解码器,以提升 AOM 整体社区影响力,带动 AV1 生态的迅速拓展。 SVT-AV1 旨在提供高质量、高性能的 AV1 编码,它是 Scalable Video Technology (SVT) 系列编码器的一部分,利用了现代多核 CPU 的并行处理能力,以提供实时编码和解码。 AV1 是由开放媒体视频联盟 (Alliance of Open Media Video, AOMedia) 开发的下一代视频编码格式,具有开放和免费的特点,针对超高清分辨率、宽色域和高动态范围增强...
- 下一篇
Karafka v2.1.5 发布,基于 Apache Kafka 的应用程序开发框架
Karafka v2.1.5现已发布。Krafka 是一个用于简化基于 Apache Kafka 的 Ruby 应用开发的框架,它允许开发者在使用异步 Kafka 消息时使用类似于标准 HTTP 约定(params 和 params_batch)的方法。Karafka 不仅可以处理传入的消息,而且还提供了用于构建接收和发送消息的复杂数据流应用程序的工具。 此版本更新内容如下: [Improvement]通过检查 librdkafka 上的实时分配丢失状态,来显着提高#revoked?响应质量。 [Improvement]改进将在已撤销的分配上运行的饱和作业的驱逐。 [Improvement]在 consumer 中 Expose#commit_offsets和#commit_offsets!方法,以提供直接向 Kafka 提交偏移量的能力,而无需将新消息标记为 consumed。 [Improvement] 当没有消息标记为 consumed 时不再跳过偏移量提交,因为librdkafka已修复那里的崩溃。 [Improvement] 删除不再需要的补丁。 [Improvement]确...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题