论文部分内容阅读
自从有分布式概念以来,数据复制就成为理论研究和产业界的热门问题。从文件复制、内存复制等传统的分布式复制理论中,学者们已经提出了许多研究的成果,在数据一致性问题、负载均衡问题等方面都有显著的成就。随着数据库软件的广泛使用,这些理论和实践的经验也同样为分布式数据库复制的研究所继承和利用。分布式数据库的研究,理论上已经日臻成熟,近年来针对传统问题的研究逐渐减少;而在业界,的数据库厂商也纷纷提出自己的复制方案,这些方案来自于知名数据库厂商、第三方软件制造商和开源组织。相比之下,实践和理论之间还是有很大差距。理论研究过于侧重于一致性等问题,而使得实现的代价非常高;各个数据库厂商的解决方案仅仅针对了用户最基本的一些需求,对数据一致性的要求很低,涉及理论热点的并不多,设计和实现相对比较简单。同时由于商业壁垒的关系,不同数据库之间的同步并没有统一的解决方案,一些开源或者第三方的商用软件也存在许多设计、性能等问题。Daffodil Replicator是一个开源异构数据库中间件解决方案,也是本文的工作基础。其优势在于对不同主流数据库产品有着基础的支持;然而在实际的企业项目实践中,笔者发现这套解决方案在设计和算法细节上还有很多欠缺。通过研究相关技术和具体的应用环境,笔者力图在这个已经有良好的异构数据库系统上融合现有研究的某些成果和优点。笔者的主要工作有:回顾了数据库复制的有关理论和常用工具,总结了理论和实践的成果,并在为了提高Daffodil Replicator的实用性,实现web service接口;调整了其关于冗余影子数据的算法,提出了带窗口的净增量复制算法;为了提高系统整体的并发性能,降低主数据库服务器的负载,本文修改了原架构简单地订阅者-发布者模式,提出了使用中央QoS控制的亚多主复制算法;建立了一套评价、控制复制工具性能的QoS计算评价体系。最后为了验证作者的工作和研究模型,针对实际应用中的一些情况,作者使用文中提到的主要服务质量指标和一些仿真数据进行了模拟试验,结果证明了本文的模型和算法的正确性、有效性。