论文部分内容阅读
目前大型DBMS在海量数据的OLTP商业应用中已成为制约整个信息系统性能和效率提升的瓶颈,传统的提高单机的硬件配置和优化数据库系统性能参数的方法也只能有限地提高系统性能。因此,基于多机并行处理的数据库集群成为人们关注的热点,它以高性能、高可用性和高可扩展性为目标,在高性能计算、海量数据的存储和处理、Web服务、电子商务等领域有着广泛的应用。围绕数据库集群系统的并行性能,主要从系统结构、全局事务的并发控制、负载平衡以及数据分布等方面解决了集群系统中的一些关键问题。为了将集群技术应用于数据库系统以实现大规模和高并行性能的数据库集群系统,在无共享的数据库集群基础上设计了一种通用的、具有高并行性能的中间件系统,提供单一系统映像结构,采用元数据管理、多线索机制、并行事务预处理等技术,实现了数据库集群的协作与并行处理,能满足对性能要求较高的OLTP商业应用,具有理想的性价比。该系统既保持了集群中局部数据库站点的自治性,又提高了数据库集群系统的并行性能,解决了大型DBMS的性能瓶颈。在并发控制方面,为了保证集群系统中全局事务的并发正确执行,采用基于谓词级的多级粒度冲突检测机制,并通过检测谓词冲突图中是否存在环的方法来避免冲突的全局事务可能会产生的全局死锁,不仅减小了死锁检测粒度而且还提高了全局事务处理的并发度,同时也保持了集群中局部数据库的自治性。此外,还改进了一种以事务提交图为中心的并发事务调度算法来保证全局事务的可串行化提交,实验比较结果表明该算法有效地提高了全局事务执行的并发度,增加了事务吞吐率和减少了响应时间。负载平衡是集群系统获得高并行处理性能和提高资源利用率的有效手段,集群中的负载平衡器根据同构或异构节点上的CPU、内存和磁盘I/O等计算资源在不同负载下的综合利用率来衡量节点的加权负载状态,所提出的基于阈值的动态负载平衡算法不仅考虑了资源的利用率,而且还考虑了负载类型对集群系统性能的影响。实验证实该策略不仅动态地保持了系统的负载平衡,而且还充分发挥了各节点的计算能力,提高了系统中各计算资源的利用率。数据分布平衡是影响数据库集群系统性能的重要因素,现存的一些数据划分方法把关系和数据都均匀地分布到多个处理节点上,而没有考虑异构节点间计算能力的差异,使得数据库集群的并行处理能力没有被充分地发挥,因此,提出了适合于同构及异构集群中数据分布的改进的Range划分方法,根据集群中同构或异构节点的计算能力将数据不均匀地分布各节点上,克服了传统的数据均匀划分的缺点。针对系统负载中发生的数据倾斜,所采用的联机数据迁移算法根据负载访问特点把过载节点上的热点数据迁移到轻负载的节点上以分担系统负载,其优点是不仅有效避免了数据执行倾斜,提高了事务吞吐率,也保持了集群系统的动态平衡。最后,综合分析和评价了同构及异构数据库集群系统的各种并行性能度量指标,TPC-C测试结果表明数据库集群系统在并行OLTP处理中具有良好的可扩展性、次线性的加速比、以及高性价比的并行处理服务,为满足电信、金融等领域大规模OLTP处理的需要打下坚实的基础。