2018 年 3 月 9 日,TiDB 发布 2.0 RC1 版。该版本在上一版的基础上,对 MySQL 兼容性、系统稳定性和优化器做了很多改进。
TiDB
- 支持限制单条 SQL 语句使用内存的大小,减少程序 OOM 风险
- 支持下推流式聚合算子到 TiKV
- 支持配置文件的合法性检测
- 支持 HTTP API 获取 TiDB 参数信息
- Parser 兼容更多 MySQL 语法
- 提升对 Navicat 的兼容性
- 优化器提升,提取多个 OR 条件的公共表达式,选取更优执行计划
- 优化器提升,在更多场景下将子查询转换成 Join 算子,选取更优查询计划
- 使用 Batch 方式 Resolve Lock,提升垃圾回收速度
- 修复 Boolean 类型的字段长度,提升兼容性
- 优化 Add Index 操作,所有的读写操作采用低优先级,减小对在线业务的影响
PD
- 优化检查 Region 状态的代码逻辑,提升程序性能
- 优化异常情况下日志信息输出,便于调试
- 修复监控中关于 TiKV 节点磁盘空间不足情况的统计
- 修复开启 TLS 时健康检查接口误报的问题
- 修复同时添加副本数量可能超过配置阈值的问题,提升程序稳定性
TiKV
- 修复 PD leader 切换, gRPC call 没被 cancel 的问题
- 对重要配置进行保护,第一次设置之后不允许变更
- 增加获取 metrics 的 gRPC API
- 启动时候,检查是否使用 SSD
- 使用 ReadPool 优化读性能,raw get 测试性能提升 30%
- 完善 metrics,优化 metrics 的使用
源码地址:https://github.com/pingcap/tidb
如今,在社区和 PingCAP 技术团队的共同努力下,TiDB 2.0 RC1 版已发布,在此感谢社区小伙伴们长久以来的参与和贡献。
作为世界级开源的分布式关系型数据库,TiDB 灵感来自于 Google Spanner/F1,具备『分布式强一致性事务、在线弹性水平扩展、故障自恢复的高可用、跨数据中心多活』等核心特性。TiDB 于 2015 年 5 月在 GitHub 创建,同年 12 月发布 Alpha 版本,而后于 2016 年 6 月发布 Beta 版,12 月发布 RC1 版, 2017 年 3 月发布 RC2 版,6 月发布 RC3 版,8 月发布 RC4 版,10 月发版 TiDB 1.0,并在 2018 年 2 月发版 1.1 Beta。