论文部分内容阅读
当今 数据库系统广泛地应用于各个领域,其性能极大地影响着各个应用的高效运行。数据库系统的并发度以及事务的吞吐量是影响其性能的关键因素,因此,一直以来,如何提高数掂库系统的并发度和事务的吞吐量的问题都是学术界的研究热点之一。 多版本存储技术可以有效地改善数据库系统的并发度和事务的吞吐量。在多版本存储技术的实现方案中,可能存在同一个数据项的多个版本,事务可以读取正确的数据项版本,只读书事务的执行不会被阻塞,只读事务和更新事务之间互不干涉。 B链树是B树结构的一种变形,同一层次的结点通过链指针链接在一起,其主要特点是同步性能极高。在查询B链树时,不用加锁,而且B链树的插入操作可能会导致的节点分裂操作不会影响查询操作。因此,选择B链树作为索引能提高数据库的并发性能。 本文提出了一种实现数据库系统新的并发控制算法,把B链树和多版本技术结合起来,用B链树作为索引,对数据项采用多版本存储技术,并在此基础上实现了字段级的细粒度锁,从而为进一步提高数据库系统的并发度和事务的吞吐量提供了可能。测试结果也表明,这种新的算法确实明显地改善了数据库系统的并发度和事务的吞吐量。 为了便于实验,本文将这个算法实现为Mysql数据库系统中的一个引擎,利用super-snack测试工具对该算法和以传统的B树为索引的算法进行了测试,对测试结果做了比较。