Skip to content

Latest commit

 

History

History
3 lines (2 loc) · 1023 Bytes

titan-intro.md

File metadata and controls

3 lines (2 loc) · 1023 Bytes

在读过分布式存储层 TiKV 的工作原理的相关介绍后,大家对 TiKV 如何将数据可靠的存储在大量服务器组成的集群中有所了解。我们还了解到 RocksDB 是运行在每一个 TiKV 实例存储数据的关键组件。RocksDB 作为一款非常优秀的单机存储引擎,在诸多方面都有着不俗的表现。但其 LSM-tree 的实现原理决定了,RocksDB 存在着数十倍的写入放大效应。在写入量大的应用场景中,这种放大效可能会触发 IO 带宽和 CPU 计算能力的瓶颈影响在线写入性能。除了写入性能之外,写入放大还会放大 SSD 盘的写入磨损,影响 SSD 盘的寿命。

Titan 是 PingCAP 研发的基于 RocksDB 的高性能单机 key-value 存储引擎,通过把大 value 同 key 分离存储的方式减少写入 LSM-tree 中的数据量级。在 value 较大的场景下显著缓解写入放大效应,降低 RocksDB 后台 compaction 对 IO 带宽和 CPU 的占用,同时提高 SSD 寿命的效果。