论文部分内容阅读
松散复制技术是分布式数据库系统(DDBS)中提高系统可用性和可靠性的一项重要技术。松散复制通过数据冗余,用本地数据读取代替远程数据访问,这样不但能降低网络通信开销和缩短响应时间,还能在节点或网络发生故障时保证系统依然正常运行。在基于松散复制的分布式系统中,数据库的一致性维持和数据同步是需要解决的关键问题。尽管在松散复制中有一些能保证可串行化的并发控制协议,但这些技术不能保证事务按期望的顺序执行。在松散复制的DDBS中,由于事务可以在不同的节点上执行,如果它们执行的先后顺序不能得到保证,则容易产生“脏数据”的问题,并且可能会导致整个系统数据不一致。而用保证强可串行化的调度算法可以避免这个问题,但是实现这些协议的代价过高,甚至会大大降低整个系统的性能。本文,用基于时标戳的并发控制思想,在单主节点松散复制的DDBS中实现Strong Session 1SR这个严格程度比较适中的可串行化标准。该标准通过对来自用户的事务进行分类,保证同类中事务之间的执行顺序,避免产生“脏数据”;而不同类之间的事务实现1SR的可串行化调度。主副节点都采用基于时标戳的并发控制策略,副节点拥有主节点的数据拷贝,主节点生成事务的唯一时标戳,用松散更新的方式实现整个系统的一致性。通过充分利用保存在数据元素中的控制信息,进行整个系统的并发事务调度,尽量减少主副节点之间的通信量,并充分发挥基于时标戳的并发控制策略的优势,提高整个系统的性能和并发度。现在,有很多基于松散复制的协议用于扩展分布式数据库系统的规模。但是,在这些协议中,大部分都是通过扩展副节点的个数来实现的。增加副节点的个数,可以提高整个系统的处理读事务的效率,但是单个主节点就成为整个系统的潜在瓶颈。本文中,提出一种扩展主节点个数的方法:各主节点只拥有数据库主拷贝的一部分,通过字符序向量标识每个主节点所执行事务的个数,并用该向量表示各主节点的数据库状态,主节点之间仍然采用松散更新的方式实现数据一致性;用基于时标戳的并发控制思想,使整个系统达到Strong Session 1SR,这样在保证系统高可靠性和高并发度的同时,进一步提高了主副节点的可扩展性,而且也避免了由于事务执行顺序不一致而造成的“脏数据”问题。