论文部分内容阅读
随着Web2.0时代的到来和云计算的兴起,传统关系数据库在应付Web2.0网站,特别是超大规模和高并发SNS类型的网站时越发显得力不从心,暴露了很多难以克服的问题,NoSQL则由于本身的特点得到了迅速发展。 根据CAP理论的表述,NoSQL数据库通常选择放弃强一致性,用最终一致性的思想设计分布式系统,从而使系统可以达到很高的可用性和扩展性。最终一致性的具体涵义是:在分布式数据库中各结点的数据,不要求每一时刻都严格保持一致,只保证最终的一致即可。 最终一致性作为NoSQL的重要理论基础,同时也是衡量NoSQL性能的重要指标,对NoSQL的应用与发展起着重要作用。现存向量时钟的最终一致性模型由于无法对全局中任意两个事件的时序进行判断,导致系统的读写性能低、延迟大,影响了最终一致性的实现。本文提出基于全局向量时钟的最终一致性模型,并沿着这条主线进行了一系列的分析和研究,主要包括以下几方面: (1)分析了NoSQL数据库:对NoSQL的概念、特性、数据模型、整体架构和应用实例进行了介绍,并研究了NoSQL的数据同步机制、可靠性和分布式扩展等关键技术; (2)研究了NoSQL最终一致性的基本原理:通过对CAP理论、BASE模型的分析揭示了NoSQL一致性的特点,并分别从客户端和服务器端两个角度对一致性进行深入的研究,进而引出了最终一致性; (3)提出基于全局向量时钟的最终一致性模型:研究了向量时钟模型,针对它无法对全局中任意两个事件的时序进行判断的问题,提出了全局向量时钟模型(GVC),该模型引入了全局时间向量并完善了同步规则; (4)通过理论证明和实例对比论证了模型的正确性:GVC解决了向量时钟模型存在的问题,提升了最终一致性的性能,具有较好的应用价值。