主存键值(key-value,KV)数据库具有高效性、易用性和可扩展性。由于主存容量有限,一些数据量较大的应用必须使用磁盘进行数据交换。而固态硬盘(solid state disk,SSD)有高速的随机读特点,使用固态硬盘作为主存KV数据库的虚拟内存会提高...主存键值(key-value,KV)数据库具有高效性、易用性和可扩展性。由于主存容量有限,一些数据量较大的应用必须使用磁盘进行数据交换。而固态硬盘(solid state disk,SSD)有高速的随机读特点,使用固态硬盘作为主存KV数据库的虚拟内存会提高对不在主存中的数据的读性能。但是固态硬盘的随机写性能较差,于是提出了针对固态硬盘的写缓冲区优化算法,将多个随机写转化为一个连续写,并设计了固态硬盘虚拟内存的垃圾回收机制,将多个随机写转化为一个连续读和一个连续写,从而提高主存KV数据库的性能。通过改写源代码,将该虚拟内存管理应用于Redis中,并进行了实验测试,结果表明该虚拟内存管理的性能比原有性能最大提升了40%。展开更多
文摘主存键值(key-value,KV)数据库具有高效性、易用性和可扩展性。由于主存容量有限,一些数据量较大的应用必须使用磁盘进行数据交换。而固态硬盘(solid state disk,SSD)有高速的随机读特点,使用固态硬盘作为主存KV数据库的虚拟内存会提高对不在主存中的数据的读性能。但是固态硬盘的随机写性能较差,于是提出了针对固态硬盘的写缓冲区优化算法,将多个随机写转化为一个连续写,并设计了固态硬盘虚拟内存的垃圾回收机制,将多个随机写转化为一个连续读和一个连续写,从而提高主存KV数据库的性能。通过改写源代码,将该虚拟内存管理应用于Redis中,并进行了实验测试,结果表明该虚拟内存管理的性能比原有性能最大提升了40%。