论文部分内容阅读
当前的在线数据存储系统面临互联网应用带来的新型负载,具有规模大,并发度高,形式变化丰富的特点。以往一般使用关系型数据库作为在线数据存储系统,但当面对新型特点的负载时,它扩展性上的缺陷,以及使用固定数据范式的缺点使其难以胜任。而Key-Value型系统适合横向扩展、处理非结构数据,已经在现实生产环境中获得了广泛的应用。但目前的Key-Value型存储系统依然沿用传统的基于锁的并发控制,在多核处理器成为主流的硬件趋势下,其处理高并发读写请求的能力受到了很大的限制。
另一方面,传统磁盘的读写性能越来越成为存储系统的性能瓶颈。虽然有部分Key-Value型存储系统使用全内存方式避开磁盘读写的瓶颈,但持久化数据的需求依然是普遍存在的。SSD作为新型的存储设备,在读写性能方面相对于磁盘有明显的优势,已经得到越来越广泛的应用。
本文研究探索面向新型数据负载,并基于SSD存储设备的Key-Value型存储系统的关键技术,主要的工作和贡献如下:
1.设计了基于内存快照技术的新型数据索引机制:利用内存快照技术改进B+Tree索引结构,在内存中实现读写分离,使得读操作不需要加锁就可以进行并发访问。同时对于内存快照B+Tree索引页面,我们设计了基于FIFO队列的缓存管理策略。整体而言,对于索引结构和缓存管理,我们免去了使用页级读写锁的必要,使系统整体其具有优秀的并发读写能力。
2.设计了基于不问断快照的新型数据放置机制:基于Log-Structured型写入模式,本文使用不问断快照技术和文件空洞机制实现了一种适合SSD特征、且具备数据高可靠性的数据放置机制。数据将以追加的方式写入到SSD上,聚合大粒度的顺序写有利于发挥SSD的性能优势,同时不覆盖旧数据的特征使得存储数据具有高可靠,易恢复的特点。
3.设计实现了一个基于上述关键技术的本地Key-Value型存储系统Dorie,并和几个目前广泛使用的同类系统进行性能对比评测。我们的评测结果显示,Doriie系统在面对高并发互联网典型负载时有着良好的性能收益表现。