PDF
摘要
近年来非易失性存储(Non Volatile Memory, NVM)飞速发展,它具有的持久化、大容量、低延迟、按字节寻址、高密度和低能耗等优越特性,强烈冲击着目前的数据库系统架构. SQLite是一款轻量级关系型数据库,实现了无服务器、零配置、事务性的SQL数据库引擎.其为每个连接维护一个缓冲区,有着空间开销大和数据一致性检测的问题,同时由于采用了相对简单的串行化单写事务执行方式和按页记录日志等方案,带来了回滚日志模式性能低和写入放大以及WAL模式存储空间要求等问题.为了解决上述挑战,构建了一种新的基于非易失性内存的SQLite缓冲区的方案SQLite-CC (Copy Cache),充分考虑了非易失性内存的硬件特性,引入CC-manager用于维护事务原子性,加入修改页面索引来保证数据库文件与缓存的一致性.实验表明,其达到了和SQLite-WAL模式相当的并发性能,相比于回滚日志模式事务吞吐量提升了3倍,读写延迟降低了40%且有效解决了磁盘中的写放大问题.
关键词
Key words
面向非易失性内存缓冲区的SQLite-CC[J].
华东师范大学学报(自然科学版), 2021, 0(06): 124-134 DOI: