论文部分内容阅读
数据库管理系统(DBMS)是除操作系统外最重要的系统软件,是信息系统的核心,也是我国信息化建设中应用最广泛、需求量最大的基础性软件。为掌握数据库管理系统实现的核心技术,研发具有自主知识产权的数据库管理系统,本课题研究工作的主要任务是研究数据库管理系统中支持事务的存储引擎实现技术。本文研究了表空间数据存储策略和事务子系统的设计与实现,主要研究工作包括:
在数据存储策略方面的研究工作:设计并实现了一个多线程并行关系数据存储引擎,高效的存储空间利用率和IO性能。通过线程池来实现多线程管理。利用区域位图实现高效的表空间存储管理,提出了三级树状位图并行存储结构,结合插入填充因子和哈希算法来实现并行存储。在研究SQL Server、MySql、PostgreSQL等关系数据库存储结构基础上,设计了高效的关系数据存储结构,并通过数据行锁标记实现行级锁,大大减小行级锁的维护开销,提高事务并发度。使用行迁移和行链接技术实现ROWID不变性和超大记录存储。通过段碎片整理和数据块数据重组技术来提高空间利用率和IO性能。
在事务系统方面的研究工作:实现基于回滚段和多粒度锁的多版本并发控制系统和高效的事务日志系统。使用旋转锁和MLock来实现高效内存同步;QLock实现多粒度封锁。利用动态回滚段技术和多粒度锁来实现多版本并发控制,进而实现了乐观锁定的一致性读隔离级别。UNDO和REDO日志独立设计,提高事务回滚和恢复的性能。
在以上研究和设计基础上,实现了XSE存储引擎,并通过实验表明,文中设计的并行存储系统和事务系统的正确性。通过并行DML实验和多事务并发测试实验,表明XSE存储引擎在并行DML和事务并发度等性能测试方面表现良好。