首页 > 科技 >

阿里云基于NVM的持久化高性能Redis数据库(4)

2018-08-13 15:57:32 网络整理 阅读:183 评论:0

阿里云基于NVM的持久化高性能Redis数据库(4)

图4: Redis recovery时间对比

另外,原生Redis通过fork一个子进程来保存全量DB数据到RDB或AOF文件,即使相比上次保存的数据仅有一个key的变更,也依然会全量保存整个DB,显然这不是一种高效的实现方式。并且该过程会对Redis带来较大的性能抖动。而基于NVM的方案是一种持续增量持久化的方式,更加高效和平滑,这点对于在线服务来说至关重要。

NVM相比DRAM能提供更高的存储密度和更大容量的数据存储空间,因此可以有效降低单位数据存储成本。基于NVM的字节寻址能力和与DRAM的速度差异,我们设计了NVM非易失性内存和DRAM易失性内存间的数据换入与换出策略,能在不影响Redis基本性能的前提下,提高数据的存储容量并节约成本。

结束语

整个方案中,充分发挥了NVM的字节寻址、持久化等能力,借助DRAM做cache来弥补NVM读写不对称的问题,从而实现了高可靠、高性能、低成本的Redis数据库,从测试数据可以看出NVM对Redis在持久化以及其他性能方面提升效果非常显著。

除此之外,NVM相比DRAM能提供更高的存储密度和更大容量的数据存储空间,因此可以有效降低单位数据存储成本。在不影响Redis基本读写性能的前提下,基于NVM和DRAM的动态数据输入换出,是我们下一步工作的方向之一。

当然,目前方案仍存在一些待优化的点,比如:对于高写入场景,replay性能跟不上DRAM写入速度;failover时候,需要等DRAM重建完成才能提供写服务等。后续会继续跟进这些问题,结合技术和产品来一起合理改进。

作者:块五

相关文章