节点文献

基于PCM的数据库日志与索引优化研究

Research on Logging and Index Optimization for PCM-Based Database Systems

【作者】 王文强

【导师】 金培权;

【作者基本信息】 中国科学技术大学 , 计算机应用技术, 2017, 硕士

【摘要】 数据库系统中的日志与并发操作技术一直是数据库系统的研究热点。近年来,随着相变存储器(Phase Change Memory,PCM)等新型非易失性存储器(Non-Volatile Memory,NVM)的出现,使得我们需要重新考虑数据库日志和并发操作问题。如何利用这些新的硬件平台,尽可能减少日志带来的开销并优化数据库系统的并发操作性能,已经成了基于PCM的数据库系统中迫切需要解决的问题。本论文围绕基于PCM的数据库系统所带来的新需求和新问题,着重研究PCM数据库系统中的日志与事务并发操作优化问题。具体而言,论文研究了两方面的问题:(1)在混合主存系统下,如何利用新型存储器特性,为传统数据库系统中的日志技术提供性能更优的解决方法?(2)如何结合PCM这一新型存储的特性,设计新的数据更新方法解决并发操作带来的轻量级锁冲突问题,从而提高并发操作的性能?围绕上述问题,本文开展了深入研究。论文的主要工作和贡献可归纳为以下几点:(1)提出了一种基于PCM的日志更新与事务恢复方法结合PCM的特性以及数据更新和日志更新操作的特点,论文提出了新的日志更新与事务恢复方法。我们通过合理的数据组织和数据结构设计,将更新数据和部分元数据信息存储在PCM中,消除事务操作带来的写日志开销和磁盘I/O,提高数据库系统的性能。(2)提出了一种基于PCM的B+树索引并发更新优化方法论文研究了基于PCM的数据库更新操作优化问题,并针对基于B+树的数据并发更新操作提出了优化方法。对于数据页的更新操作,我们将所有更新记录都写到PCM上,并通过映射表和数据链的形式进行管理。对于索引更新操作,我们将对叶节点的更新操作存储在PCM上,利用标记记录的方式来实现节点的快速分裂和合并,消除索引更新过程中的轻量级锁冲突,从而提高索引的并发访问性能。(3)利用PCM模拟器进行了实验和性能评价为了验证所提方法的性能,我们利用DRAM设计了一个PCM模拟器,并通过trace数据对系统的事务吞吐率和平均响应时间进行了测试。结果表明,论文提出的基于PCM的日志更新策略和数据更新方法可以有效提升数据库系统的性能。

【Abstract】 Logging and concurrent operations have been a hot topic in database systems for many years.Recently,with the emergence of NVM(Non-Volatile Memory),such as PCM(Phase Change Memory),we need to reconsider the problems of logging and concurrent operations.It has been an urgent issue for PCM-based database systems to utilize PCM to improve the performance of traditional logging and concurrent processing techniques in database systems.Based on the challenges and opportunities introduced by PCM,in this paper,we focus on the optimization of concurrency operations and logging.Particularly,we study two issues in this paper:(1)How to utilize PCM to provide an effiecient solution for logging in hybrid-memory-based database systems?(2)How to design a new updating method to avoid latches to improve the performance of concurrent operations?Aiming at solving these problems,this paper conducts an in-depth study.In summary,we make the following contributions in this paper:(1)We propose a new PCM-based logging updating and recovery method.Considering the characters of PCM and the differences between data updates and log updates,we propose a new logging updating and recovery method.We design a reasonable data management scheme as well as efficient data structures,based on which we put updating records and parts of metadata in PCM.Our proposal is able to reduce the overhead incurred by logging and disk I/Os and further improves the overall performance of database systems.(2)We present a new PCM-based optimization method for concurrent updates in the B+ tree index.We investigate the optimization of concurrent operations in databases and propose a new PCM-based optimization method for concurrent updates in B+ tree.For data pages,we put all records in PCM and manage them by using a mapping table and a record list.For index pages,we put all updates to leaf nodes in PCM and use flag records to split or merge nodes.By this way,we can improve the overall performance of databases by avoding a numerb of latches.(3)We build a PCM simulator for experiments and evaluations.To validate our methods,we develop a trace-driven PCM-simulator on top of DRAM.We evaluate the average throughput and the reponse time of database systems with respect to different traces.The experimental results show that our logging scheme and the optimization for concurrent updats can greatly improve the performance of database systems.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络