论文部分内容阅读
随着物联网、人工智能、云计算产业和移动互联网的快速发展,数据规模呈现爆发式增长。这一现象给数据管理带来了巨大的挑战,而内存键值数据库是支撑数据中心和众多数据密集型应用的关键技术,广泛应用于网页检索、电子商务、云存储、社交网络等领域。大数据时代下,应用会时刻产生海量用户数据,对内存键值数据库的系统性能和高可用性提出了极高的要求。内存键值数据库的发展除了受应用驱动外,其实现方式也要随着新型硬件的发展做相应优化以获得最佳的访问性能。支持远程直接内存访问(Remote Direct Memeory Access,RDMA)的高速网络和非易失内存(Non-volatile Memory,NVM)存储设备的出现为进一步提升和优化内存键值数据库带来了新的机遇和挑战。本文的研究工作围绕利用新型RDMA和NVM硬件对现有内存键值数据库的优化展开。RDMA是一种高带宽、低时延的网络通信技术,可以加速内存键值数据库的远程通信。NVM能够明显提升键值访问效率,兼具传统硬盘的持久性和接近内存的存取速率。但是,直接将现有的内存键值数据库迁移到RDMA和NVM硬件上,无法充分发挥新型硬件的潜力,因为现有内存键值数据库面向传统硬件设计的软件技术不适合新型硬件的特性。因此,如何充分发挥新型硬件的潜能,设计出高性能、高可用的内存键值数据库,是一个值得深入研究的问题。本文分别针对高性能和高可用这两个目标,分析了内存键值数据库存在的瓶颈问题和结合新型硬件存在的挑战,提出了基于事件驱动通信框架的内存键值数据库优化方案、基于远端日志持久化技术的主备复制优化方案和基于跟随者驱动的共识协议优化方案,通过这三个优化方案来讨论如何利用RDMA和NVM来提升内存键值数据库的性能和可用性,本文的主要工作和贡献如下:(1)基于事件驱动通信框架的内存键值数据库优化:RDMA高速网络是提升内存键值数据库性能的有力保障,但其低层级的网络API集成进现有内存键值数据库,需要大量的代码修改和架构重新设计,而且现有系统针对传统以太网的设计如序列化协议,不适合RDMA访问方式。因此,为了高效发挥RDMA网络性能,充分利用RDMA硬件特性,本文选用了最佳的RDMA原语,构建了基于事件驱动的RDMA通信框架,替换了轮询获取请求的方式,以减少请求发现的处理器开销。该框架提供通用的网络接口,易集成到现有内存键值数据库。本文还提出了优化的序列化协议,能最小化序列化和反序列化的内存拷贝开销。此外,本文提出了一个基于乐观并发控制的并行处理引擎,对读密集负载友好,能更好地提升内存键值数据库性能。(2)基于远端日志持久化技术的主备复制优化:内存键值数据库常采用主备复制技术来支持高可用,而高速的RDMA网络和具有高效读写能力的NVM存储,能有效消除主备复制中的慢速网络和存储I/O瓶颈。但是,因为DDIO优化技术的存在,RDMA网卡会直接将数据写入远程节点的CPU缓存,而不是远端NVM中。一旦节点发生故障,就造成数据不一致问题。而且真实的NVM设备存在读写放大问题。为了保证远端数据持久化,本文提出了一个高效的远端日志持久化技术,充分考虑RDMA特性,最小化网络往返和持久化开销。为了缓解NVM写放大问题,本文设计了基于日志结构的存储架构,并支持流水线批处理机制和并行日志回放策略,从而使主备复制对主节点处理性能的影响尽量小。此外,本文进一步提出了一个热度感知的差异化哈希索引,以提供良好的读性能。(3)基于跟随者驱动的共识协议优化:基于共识协议的高可用架构不仅能保证数据强一致,而且可以在领导者发生故障时自动选举新的领导者接管服务,因此被许多商用内存键值数据库使用。但是单点领导者不仅需要处理大量客户端请求,而且需要将日志复制给所有跟随者,往往容易成为性能瓶颈。针对这一问题,本文提出了一个跟随者驱动的优化的Raft协议,采用混合RDMA原语将领导者日志复制中关键路径上的任务卸载到跟随者,有效减少领导者的处理器和网络开销。进一步,该协议利用NVM可字节寻址的特性,支持跟随者主动拉取的日志追赶策略。此外,本文还提出了一个跟随者多数派的跟随者读方法,利用跟随者间的多数派投票和远程直接读取提交索引的方式,让跟随者直接处理读请求,无需领导者的直接参与,进一步减轻领导者的资源开销。综上所述,本文结合新型的RDMA和NVM硬件,并从通信框架优化,主备复制优化,共识协议优化三个方面阐述了如何通过充分发掘新型硬件的特性来优化内存键值数据库系统,以达到高性能和高可用的目标。首先,本文构建了高性能、低延迟的RDMA通信框架,以加速内存键值数据库的客户端和服务端间的网络通信。然后,本文为了解决远端数据持久化问题和NVM写放大问题,提出了高效的远端日志持久化技术和NVM友好的存储结构,用以优化主备部署的内存键值数据库。最后,本文提出了一个跟随者驱动的优化的Raft协议为内存键值数据库提供高可用服务。大量的实验结果验证了本文提出的优化方案的有效性。