论文部分内容阅读
当今时代是数字化时代,大数据在给企业提供更多的商业价值和发展机会的同时,也给数据的有效管理和利用提出了更高的需求:海量的数据存取,更低的读写延迟,强大的可用性、可伸缩性和较低的运营成本等。采用最终一致技术的非关系型数据库NoSQL能够很好地满足这些需求,其通过弱化一致性来实现高扩展性和高可用性,更好地满足了大数据的需求。最终一致性是衡量NoSQL性能的重要指标,对NoSQL的发展与应用起着重要作用。在NoSQL最终一致性的解决方案中,向量时钟算法应用的最为广泛。基于向量时钟的最终一致性算法能够有效地判别NoSQL系统内数据的时序关系,在一定程度上保证了操作的有序性和数据的一致性。通过深入研究向量时钟算法规则,发现该算法在解决NoSQL最终一致性时还存在一些问题:一致性控制信息随系统节点数n线性增长,当节点数n很大时,导致消息传输量较大,增加了网络负载量;在遇到全局中非因果关系的更新操作时无法判别数据的时序关系,由此可能导致数据被错误覆盖、读性能降低、错误率增加等问题。针对这些问题,提出了基于全局向量时钟增量同步的最终一致性算法,并详细介绍了该算法的基本思想及算法实现。最后,理论说明了该算法的正确性,并通过模拟实验对比论证了该算法大大压缩了节点间同步过程中所附加的一致性控制信息的信息量,同时解决了全局中非因果关系的更新操作的时序判断问题。最终得出结论:基于全局向量时钟增量同步的最终一致性算法是一个可行、有效的方案。