论文部分内容阅读
内存数据库利用内存中数据能被快速存取的特点,把数据库的工作版本放在内存中,避免了频繁的I/O操作,极大的改善了数据库整体性能。内存数据库应该以CPU和内存空间的高效利用为目标,重新设计DBMS中的各种算法及实现机制。 在电信和金融领域的业务系统中,应用的特点是短事务多、并发量大、绝大部分是读操作、对响应时间的要求高,是内存数据库的典型应用领域。目前内存数据库事务并发控制方面的研究主要集中在基于锁的并发控制,较容易产生读写阻塞,不能很好满足上述应用场景的需求;另外,内存属于易失性存储介质,遇到停电、软硬件故障等问题会导致数据丢失,所以内存数据库恢复机制的研究至关重要。 本文以内存数据库系统事务管理技术为主要研究内容,在深入分析内存数据库系统并发控制特点的基础上,提出了基于行级锁的多版本并发控制技术,既能够充分提高事务并发度、提高内存数据库性能,又合理地控制了锁的开销;本文同时研究了内存数据库的日志系统和检查点机制,提出了一种改进的日志检查点恢复策略,充分利用多版本并发控制机制的优势,保证刷新到磁盘文件的内存镜像都是已提交事务修改的页面,避免恢复时回滚未提交事务,只需要记录数据库操作的Redo日志信息,在保证性能的基础上减少内存空间的占用。 在上述工作的基础上,结合东南大学数据库实验室自主研发的内存数据库SwiftMMDB原型系统的开发,完成了内存数据库系统事务管理层的设计与实现,实验测试表明本文提出的设计方案能很好地满足应用需求。