企业级开源分布式中间件 | DBLE 3.23.08.0 版本发布!


以下对 DBLE 3.23.08.0 版本的 Release Notes 进行详细解读。

文章主要分为以下四部分内容:

一、DBLE 项目介绍

二、新版本主要更新解读

三、完整 Release Notes

四、LTS 版本更新

一、DBLE 项目介绍

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

破壳日: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 公开课》课程,近期已同步至社区视频号和 B ,欢迎观看

Tips:建议下载最新的 Releases 版本,下载 tar 压缩包即可,如有源码编译需求的,可以下载源码包。

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

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

致谢

  • 感谢 Github 用户提供的优质 Issue,Star 突破 1024!

  • 感谢 QQ 群(669663113)和微信群内朋友提供的有效反馈。

主要更新:

1、支持 OLAP/OLTP 混合负载

新增 hybridTAUser 用户,DBLE 会将前端下发的 SQL 根据一些规则将 TP 型的路由到 MySQL 上,而 AP型 的路由到 ClickHouse 上,现 AP/TP 负载自动识别下发。

TP/AP 路由规则: 

  • 包含聚合函数的 SELECT 需要下发给 AP,具体指:min、sum、count、avg、max、STDDEV_POP、STDDEV_SAMP、VAR_POP、VAR_SAMP、group by。

  • 事务:ClickHouse 不支持事务,所以针对事务的情况都需要发给 TP。

  • 增删改:根据数据同步机制,ClickHouse 使用 binlog 同步 MySQL 数据,可以认为 ClickHouse 作为从,MySQL 作为主,这样的结构也就限制 DML 只能下发给 TP。

详情请见文档对应章节。

2、支持自主检测内部定时线程是否疑似 hang 和部分线程的中断/恢复操作

当 DBLE 遇到某些业务的 hang 场景,期望能在不重启 DBLE 方式解决 hang 问题;可以通过 thread @@print 操作(存在与 jstack 一样的 stw 风险),来定位疑似问题内部线程;经过再三确认后,可以先尝试使用 thread @@kill name='?' 操作(内部采用 interrupt 提前退出任务的方式)中断当前线程,在一定部分场景下可以解决当前 hang 问题,然后根据情况决定是否需要对此线程进行 thread @@recover name=? 操作。

  • DBLE 自主检测内部定时线程(Timer\TimerScheduler)疑似 hang,如果出现疑似 hang,会有对应的告警和 dble.log 会有相应的 hang 关键字

  • 支持部分线程的中断/恢复操作

详情请见文档对应章节。

三、完整 Release Notes

特性:

  • [#3831] 支持 OLAP/OLTP 混合负载。更多详细信息,请参见 doc[1]

  • [#3832] ManagerFrontWorker 独立管理端线程池。更多详细信息,请参见 doc[2]

  • [#3833] 支持监控部分定时线程以及部分线程的中断操作。更多详细信息,请参见 doc[3]

  • [#3834] 优化并统一 DBLE 相关内部统计信息。更多详细信息,请参见 doc[4]

  • [#3838] 加强对捕获的线程“错误”异常的处理。

缺陷修复:

  • [#3835] DBLE 启动时,某些异步初始化任务需要很长时间

  • [#3836] 后端的 lower_case_table_name 不一致时,DBLE 部分操作不符合预期

  • 修复一些 DDL 问题

  • 修复重新加载时 ClickHouse 同步变量错误

  • ChildTable 支持 specifyCharset 属性配置

和旧版本的不兼容项:

  • [#3834] 优化并统一 DBLE 相关内部统计信息。更多详细信息,请参见 doc[4]

     

四、LTS 版本更新

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

3.22.11.1

我们发布了 3.22.11.1,是个 bug 复版本

  • 改善从连接池中获取连接的逻辑

  • 某些场景下执行大包语句出现 hang、Lost connection...

  • 支持 UPDATE/DELETE 多表针对分片表 JOIN 全局表

  • 后端连接初始化时出现半连接场景的处理

  • 主从切换后,业务端开启事务并进行回滚时,可能存在部分数据没有被回滚的现象

  • 连接池的扩缩容线程 connection-pool-evictor-thread 意外退出 慢日志过多阻塞,导致心跳失败、创建连接失败

3.22.01.6

我们发布了 3.22.01.6,这是个 bug 复版本。

  • 主从切换后,业务端开启事务并进行回滚时,可能存在部分数据没有被回滚的现象

  • 开启 SQL 统计,并发线程没有抢到锁陷入死循环引起 CPU 使用率过高

  • 连接池的扩缩容线程 connection-pool-evictor-thread 意外退出

  • 慢日志过多阻塞,导致心跳失败、创建连接失败

  • 慢日志 bug 导致队列消费线程异常退出

  • 多语句下发出现 lost connnection...

  • 加强 sequence 配置改动场景优化

3.21.10.15

我们发布了 3.21.10.14,这是 bug 复版本。

  • max 函数处理 datetime/timestamp/time 列时,精度丢弃了

  • 修改 dble_rw_split_entry中white_ips 列为 null,不生效

  • 加强 sequence 配置改动场景优化

  • 一些 NPE 的处理

引用参考

[1] HTAP:https://actiontech.github.io/dble-docs-cn/history/develop/2.Function/2.39_HTAP.html

[2] 参数详情:https://actiontech.github.io/dble-docs-cn/history/develop/1.config_file/1.02_bootstrap.cnf.html

[3] 线程处理:https://actiontech.github.io/dble-docs-cn/history/develop/2.Function/2.40_thread_cmd.html

[4] 变更内容:https://actiontech.github.io/dble-docs-cn/history/develop/1.config_file/1.10_version_change.html#config-title-3.23.08.0


相關推薦

2023-06-21

sp;Release Notes 四、LTS 版本更新 一、DBLE 项目介绍 DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持; DBLE 破壳日:2017.10.24

2023-03-28

能平台,它结合了事件驱动和无服务器架构,以简化复杂分布式系统中事件驱动的应用程序开发。其主要目标是使用发布-订阅模式为各种组件和应用程序启用无缝的、无服务器的事件驱动功能。EventMesh 通常被称为 "EDA plus Serverle

2023-09-07

的深刻理解和对其更广泛应用的信心所驱动的。与传统的企业级架构不同,Serverless云服务强调资源按需分配、弹性扩展及高度灵活的服务构建。正因如此,BifroMQ通过其多租户架构和资源共享机制,为Serverless类型的业务提供了"

2023-07-13

发布2个开源项目 新发布项目一:跨端、跨框架、跨版本企业级应用前端组件库—OpenTiny OpenTiny是华为云开源的Web应用前端开发套件,涵盖Vue2/Vue3/Angular多技术栈,拥有主题配置系统/中后台模板/CLI命令行等工具库。OpenTiny经过

2023-11-16

担各种类型的负载。因此,这种模式非常适用于以下两类企业级应用场景: 业务产生的负载类型相对单一 业务产生的负载类型多元化,但产生时间相对分散。对于负载形式复杂且在时间维度上有集中产生的情况,官方建议

2023-08-03

 月, 拥有国内顶级的数据库人才与专家,专注于企业级实时数据仓库和 MySQL 实时 HTAP 数据库的研发与应用,依托云中立的数据技术进行产品设计,致力于为客户提供大规模、高性能、低成本的一站式实时数据分析服务

2024-06-26

Simple Admin - Go 语言分布式后台管理系统 v1.4.8 更新 项目介绍 Simple Admin 是一个开箱即用的分布式微服务后端管理系统,基于 go-zero 开发,为开发小型到大型项目后台提供了丰富的功能,易于扩展,支持三端代码生成。 官方自带

2022-06-21

进 v1.5.1 了。有了 Citus 企业版特性,这下PG真的成为了:分布式地理空间时序超融合数据库了。 Citus 是原生的PG插件扩展,主要针对的场景包括: 多租户,让数据按照租户自动分片。 实时分析,并行加速实时聚合,压到

2022-07-12

状态和有状态应用程序,并且关注于业务逻辑而不用考虑分布式相关的问题。 近日 Dapr 1.8 正式发布,这是自 2021 年 2 月发布 1.0 版本以来的第八次小版本更新,更新内容如下: 分布式锁 API(alpha) 分布式锁提供了从一个应

2022-12-22

(Polaris Mesh)是开源的一体化服务治理平台,致力于解决分布式和微服务架构中的服务管理、流量管理、故障容错和配置管理问题,提供业务监控、流量监控、事件中心和操作记录等全方位的可观测性能力,帮助用户快速低门槛

2024-10-18

成的开源社区。提供包括分布式事务,日志,流行工具,企业级认证,微服务,运维监控,调度编排等一系列开源产品。技术栈全面开源共建、 保持社区中立。让参与的每一位开源爱好者,体会到开源的快乐。 Dromara 开源社区

2023-11-17

担各种类型的负载。因此,这种模式非常适用于以下两类企业级应用场景:   ·业务产生的负载类型相对单一   ·业务产生的负载类型多元化,但产生时间相对分散。对于负载形式复杂且在时间维度上有集中产生的情况

2023-09-15

47 天津南大通用数据技术股份有限公司 南大通用分布式交易型数据库管理系统[简称:GBase 8c] V5 龙芯3C5000/3C5000L 48 中国电子系统技术有限公司 中电电子云图数据库管理系统  V1.0 龙芯3C5000L 49

2024-10-09

WuKongIM 从单机版改造成分布式版本,历史 1 年时间。都快撸秃了😂 可以算 github 上第一个原生态的分布式的通用型 IM 。支持即时通讯,站内/系统消息,消息中台,物联网通讯,音视频信令,直播弹幕,客服系统,AI 通讯,即