做者:段兵git
2019 年 5 月 10 日,TiDB 3.0.0-rc.1 版本正式推出,该版本对系统稳定性,性能,安全性,易用性等作了较多的改进,接下来逐一介绍。github
众所周知,数据库的查询计划的稳定性相当重要,此版本采用多种优化手段促进查询计划的稳定性获得进一步提高,以下:数据库
新增 Fast Analyze 功能,使 TiDB 收集统计信息的速度有了数量级的提高,对集群资源的消耗和生产业务的影响比普通 Analyze 方式更小。安全
新增 Incremental Analyze 功能,对于值单调增的索引可以更加方便和快速地更新其统计信息。分布式
在 CM-Sketch 中新增 TopN 的统计信息,缓解由于 CM-Sketch 哈希冲突致使估算偏大的问题,使代价估算更加准确。函数
优化 Cost Model,利用和 RowID 列之间的相关性更加精准的估算谓词的选择率,使得索引选择更加稳定和准确。性能
TableScan,IndexScan,Limit
算子,进一步提高 SQL 执行性能。优化
TiKV 采用Iterator Key Bound Option
存储结构减小内存分配及拷贝,RocksDB 的 Column Families 共享 block cache 提高 cache命中率等手段大幅提高性能。线程
TiDB Lightning encode SQL 性能提高 50%,将数据源内容解析成 TiDB 的 types.Datum,减小 encode 过程当中多余的解析工做,使得性能获得较大的提高。日志
RBAC(Role-Based Access Control)基于角色的权限访问控制是商业系统中最多见的权限管理技术之一,经过 RBAC 思想能够构建最简单”用户-角色-权限“的访问权限控制模型。RBAC 中用户与角色关联,权限与角色关联,角色与权限之间通常是多对多的关系统,用户经过成为何样的角色获取该角色所拥有的权限,达到简化权限管理的目的,经过此版本的迭代 RBAC 功能开发完成,欢迎试用。
新增 SQL 方式查询慢查询,丰富 TiDB 慢查询日志内容,如:Coprocessor 任务数,平均/最长/90% 执行/等待时间,执行/等待时间最长的 TiKV 地址,简化慢查询定位工做,提高产品易用性。
新增系统配置项合法性检查,优化系统监控项等,提高产品易用性。
支持对 TableReader
、IndexReader
和 IndexLookupReader
算子进行内存追踪控制,对 Query 内存使用统计更加精确,能够更好地检测、处理对内存消耗较大的语句。
V3.0.0-rc.1 版本的开发过程当中,开源社区贡献者给予了咱们极大的支持,例如美团的同窗负责开发的 SQL Plan Management 特性对于提高产品的易用性有很大的帮助,一点资讯的陈付同窗与其余同窗一块儿对 TiKV 线程池进行了重构,提升了性能并下降了延迟,掌门科技的聂殿辉 同窗实现 TiKV 大量 UDF 函数帮忙 TiKV 完善 Coprocessor 功能,就再也不一一列举。在此对各位贡献者表示由衷的感谢。接下来咱们会开展更多的专项开发活动以及一系列面向社区的培训课程,但愿能对你们了解如何作分布式数据库有帮助。
https://github.com/pingcap/docs-cn/blob/master/releases/3.0.0-rc.1.md