
基础性能优化和提升 面向云环境的功能拓展 产品易用性和运维支持 新增实用性功能涉及到的系统配置开关选项 主要的 bug 修复和稳定性提升
基础性能优化和提升
面向云环境的功能拓展
支持使用 Raft Engine 作为 TiKV 的日志存储引擎
(上下滑动展开)
用户场景与挑战
云环境上用户最为关心的问题之一是成本,数据存储量和 IO 请求所产生的开销不可小觑。通常来说,分布式数据库在处理用户写入时需要复制并持久化记录大量的日志,这无疑会增加用户部署服务的成本。另一方面看,由于云环境下的硬件资源有较为明确的限制,当用户负载发生波动,而预设的硬件配置无法满足时,服务质量也会受到显著影响。
解决方案
TiDB 5.4 推出一项实验性功能:Raft Engine,一款自研的开源日志存储引擎,相较于使用默认的 RocksDB 引擎,它最大的优势在于节省了磁盘带宽的使用量。首先,Raft Engine 将 TiDB 集群的“写入日志”压缩后直接存放在文件队列中,而不进行额外的全量转储。另外,Raft Engine 拥有更为高效的垃圾回收机制,利用过期数据的空间局部性进行批量清理,在大部分场景下不额外占用后台资源。
这些优化能够大幅降低同等负载下 TiDB 集群中存储节点的磁盘带宽使用量。这意味着,同等水平的集群将能服务更高峰值的业务输入,而同等强度的业务可以缩减部分存储节点数量来获得近似的服务水平。
另外,作为自研引擎,Raft Engine 具有更轻量的执行路径,在一些场景下显著减少了写入请求的尾延迟。
在实验环境中,TPC-C 5000 Warehouse 负载下,使用 Raft Engine 能够减少集群约 30% 的总写入带宽,并对前台吞吐有一定提升。

详情参见用户手册。
小结
使用 Raft Engine 存储集群日志,能够有效减少写入带宽用量,节省云上部署成本的同时提升服务稳定性。
产品易用性和运维支持
新增实用性功能涉及到的系统配置开关选项
主要的 bug 修复和稳定性提升
PM 寄语
2022 年是广大 TiDB 用户事业虎虎生风蒸蒸日上的一年,希望 TiDB 5.4 能给用户带来更多的舒心,更多的便利,助力各种应用和业务的健康高效发展。敬请关注 TiDB 官网,GitHub 以及各种社交媒体账号,谨代表 TiDB 产品经理(PM) 团队、研发工程与质量团队一道,期待与广大用户一起开创更美好的一年。如果您对 TiDB 的产品有任何建议,欢迎来到 internals.tidb.io 与我们交流。











