本文工作
RocksDB是一个面向大规模分布式系统,并针对固态硬盘(SSD)进行优化的键值存储系统。本论文描述了在过去八年中,我们在开发RocksDB方面的重点发生了怎样的演变。这一演变既是硬件趋势的结果,也是在多个组织的生产环境中大规模运行RocksDB的丰富经验的结果。
-
我们描述了RocksDB的资源优化目标是如何从写放大演变到空间放大,再到CPU利用率的。
-
在运行大规模应用的经验中,我们学到了资源分配需要在不同的RocksDB实例之间进行管理,因为单个服务器可以承载多个实例;数据格式需要保持向前和向后兼容,以允许增量式的软件部署;需要适当支持数据库复制和备份。
-
在处理故障的经验中,我们了解到需要在系统的每一层次上更早地检测到数据损坏错误。
总结
对广泛使用的RocksDB发展方向进行总结 ,根据实际生产中面临的挑战不断优化RocksDB性能。资源优化目标从写放大演变到空间放大,再到CPU利用率;资源分配需要在不同的RocksDB实例之间进行管理;数据格式需要保持向前和向后兼容,以允许增量式的软件部署;需要适当支持数据库复制和备份;需要在系统的每一层次上更早地检测到数据损坏错误。