3.20.10.0 版本
DBLE Release Notes
以下对 DBLE 3.20.10.0 版本的 Release Notes 进行详细解读。文章主要分为以下三部分内容:一、DBLE 项目介绍二、新版本 主要更新解读三、 完整 Release Notes 四、【新增】过往版本更新https://github.com/actiontech/dble
一、DBLE 项目介绍
DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持; DBLE破壳日:2017.10.24
爱好:开源
技能:数据水平拆分、读写分离、分布式事务支持、多分片算法、全局 ID、IP/SQL 黑白名单
特长:MySQL 语法兼容、复杂查询优化、低改造成本、成熟稳定、成熟技术栈
DBLE 官方项目:
https://github.com/actiontech/dbleDBLE 官方文档(已更新):
https://actiontech.github.io/dble-docs-cn
- 新版本 DBLE 下载地址及 Release Notes:https://github.com/actiontech/dble/releases
- 点击学习《DBLE 快速上手》,实操视频 + 图文稿!
- 点击学习《DBLE 公开课》进阶课程
二、新版本主要功能更新解读
本次发版 3.20.10.0 是 DBLE 今年的第四次发版,也是 2020 年的最后一次发版。 达到平均每季度一次的频率。新版 DBLE 新增&重构功能 5 个,修复缺陷 24 个,向后兼容性调整 1 处。
致谢:
- 感谢以下人士对社区的贡献:@sunshinecb, @13611582598, @lcg72
- 感谢 Github 用户提供的优质 issue,star 突破 700!
- 感谢 QQ 群(669663113)和微信群内朋友提供的有效反馈,群用户突破千人!
主要更新:
1、管理端口访问 DBLE 状态
dble_information 提供了一系列表格来描述 DBLE 内部一些元数据,可以通过管理端口连接 DBLE 之后,use dble_information
之后查询内部的元数据信息。
以下是这些表格的详述:
支持表格的投影(SELECT)
支持表格的选择(WHERE)
支持表格的连接(JOIN)
支持表格的非关联 WHERE 子查询
支持聚合运算
支持排序
支持标量函数
支持
use dble_information
支持
show tables [ like ]
支持
desc|describe table xxx
支持
show databases
; 注意和show @@database
不同部分表格支持 INSERT/UPDATE/DELETE
3.20.10.0 版本 DBLE 支持单纯的读写分离,可以和分库分表功能分开单独使用。3.20.10.0 之前的版本,分库分表也支持读写分离,兼容该功能。
三、完整 Release Notes
特性:[#1987] 添加可以从管理端口访问的 schema
dble_information
, 可以用 DQL 来查看 DBLE 状态。详见文末【参考1】[#2075] 支持不分库分表的读写分离(Alpha 功能)。详见文末【参考2】
[#1987] 支持更多 whiteIP 格式。详见文末【参考3】
[#2013] 支持刷新连接池使用管理端命令。详见文末【参考4】
[#2015] 支持在配置或命令中设置 clientFoundRows 功能。详见文末【参考5】
缺陷修复:
[#2225] 期望将语句
select ... from table for update
发送给主服务器[#2042] 当 AND 条件里面嵌套 OR 条件,EXPLAIN 结果可能错误
[#1851] 视图中的 Sharding_table 将导致从
split
导入文件失败[#2180] 当 DBLE 函数转换包含 UTF8 时,结果不正确
[#2024] 使用 PreparedStatement.clearBatch() 和 conn.commit() 时,JDBC 批处理插入错误。感谢 @sunshinecb 报告此错误
[#1839] 设置会话事务隔离级别后,
select
可能会 hang[#2166] 字符串中包含分号,会导致无法执行 split
[#1855] Navicat15 连接 DBLE 会报错,感谢 @lcg72 报告此错误
[#2158] 使用了类型转换的简单查询,会报找不到路由
[#2143] 当分片字段为十进制类型时,查询结果可能为乱码
[#1997] 分片值是字符串类型,但引号内是十六进制类型,DBLE 将报告错误
[#1924] 不支持 SQL
ALTER TABLE O_ORG COMMENT =
。感谢 @13611582598 报告此错误[#2063] 当子查询列为 * 并且是联合查询时,创建视图将发生异常
[#2135] 如果视图名称包含 schema 名称,则删除视图失败
[#1994] 当别名包含单引号时,DBLE 报告“找不到列”错误
[#2147] 当使用别名查询时,
select ... information_schema.columns ...;
将引发异常[#2153] 在
select ...
中,当“where”中的分区列值等于“”时,则会将其路由到所有节点[#2026] DBLE 实际上不支持
minus
,并且需要返回错误[#2112] 当 connectionTimeout = 30 并且执行 manager cmd 时,实际超时超过 5 分钟
[#2073] 执行
SQL select id,c from test_shard group by c having id<=1 or c ='bb';
将导致 NPE[#2162] 不支持
INSERT ... SELECT LEFT JOIN
[#1806] 设置多用户变量并且用户变量之间有依赖,结果会不正确
[#2108] 无法在垂直模式的 schema 中删除视图
[#1961]
show database
声明需要更严格的检查
打破向后兼容性:
[#2031] 从管理端移除 ROLLBACK 命令
参考链接:
【参考 1】2.001 manager_dble_information
https://github.com/actiontech/dble-docs-cn/tree/3.20.10.0/tag/2.Function/2.001_manager_dble_information.md
【参考 2】2.03 RW_Split
https://github.com/actiontech/dble-docs-cn/tree/3.20.10.0/tag/2.Function/2.03_RW_Split.md
【参考 3】1.03 whiteIP
https://github.com/actiontech/dble-docs-cn/tree/3.20.10.0/tag/1.config_file/1.03_user.xml.md#137-whiteipsip%E7%99%BD%E5%90%8D%E5%8D%95
【参考 4】2.1.21 fresh_conn
https://github.com/actiontech/dble-docs-cn/tree/3.20.10.0/tag/2.Function/2.1_manager_cmd/2.1.21_fresh_conn.md
【参考 5】2.2.6 cap_client_found_rows
https://github.com/actiontech/dble-docs-cn/tree/3.20.10.0/tag/2.Function/2.26_cap_client_found_rows.md
四、过往版本更新
有一些过往版本的小版本发出,修复一些 bug:
2.19.11.4
修复一些行数据为中文时候可能存在的乱码
分片表多层 left join 全局表无法整体下发
2.20.04.4
修复一些行数据为中文时候可能存在的乱码
分片表多层 left join 全局表无法整体下发
reload @@config_all
返回 NPE3.20.07.2
修复一些行数据为中文时候可能存在的乱码
分片表多层 left join 全局表无法整体下发
reload @@config_all
返回 NPE高可用命令的一些 bug
show @@dbInstance
中的 size 列值显示成了 minCon,期望显示 maxCon表级别的 sqlMaxLimit 未生效
集群的一些问题
本次的发版报道就到这里啦~
近期好文: 分布式 | Global 表 Left Join 拆分表实现原因探究 分布式 | DBLE 之通过 explain 进行 SQL 优化 DBLE用户故事丨31 问工行分布式数据库选型及设计更多关于 DBLE 的好文,关注公众号菜单栏 “社区信息”-“开源产品” ,进行查看~ 本喵雍正,女,一岁多啦 喵生艰辛 为了养家糊口,年纪轻轻就来到社区打工 工作使我积极向上、充满斗志、 食量大增! 我的意思是,本喵缺的是口粮么? 是你们的 鼓励呀!