基于分布式数据库的数据同步机制的研究与应用
【摘要】:
随着网络应用的迅速发展,人们对获取信息的正确性和及时性的要求也越来越高。数据库系统是目前存储数据、检索信息最为方便高效的手段,绝大多数企业将信息存储在数据库中。目前数据库系统的趋势是由小型化向大型化、集中式向分布式发展。在分布式数据库系统中,数据多分散存储于同一网络中的不同节点上,要实现各节点数据库信息的同步更新就存在维护分布式数据库中数据一致性和完整性的问题。在此背景下,分布式数据库系统的数据同步研究成为热门课题。
本文是以实际应用项目《湖北水路规费征稽网络信息管理系统二期》的数据同步为背景,在对湖北省港航管理局各级站点的网络环境进行充分分析的基础上,将系统的数据同步划分为省局、地市、县所和基层站点四个层次。项目初期采用SQL Server复制技术进行200多个站点的同步,试用期间出现数据丢失及同步更新不及时等问题,本文通过分析研究,阐述了原SQL Server复制技术在后期应用中所作的一些有效改进,通过将四级架构改为二级架构、去除级联关系、清理系统相关表等方法解决了系统数据丢失的问题。
另外在此基础上设计了一种采用SQL Server事务处理、数据仓库中的ETL技术和XML技术来实现数据同步的新机制。新的同步机制首先利用SQL Server的事务处理和数据仓库的ETL技术搭建一个中间层,或称作数据采集系统,该系统抽取了需要传输的增量数据存储到数据仓库中,然后进行压缩、传输、解压缩等数据处理。数据的上传和下载步骤采用XML技术来实现。先实现存储数据到XML Schema文档的转换,然后生成XML文件,进行上传,之后再将XML文件映射到目标服务器的相应表中,实现数据的下载。
基于ETL和XML的同步机制主要从网络环境不稳定、数据量过大等方面深入分析,通过引入新技术保证数据的完整性和一致性。新机制与SQL Server复制相比有较强的优势,引入的ETL技术能有效缓解服务器承载压力,降低网络负荷,XML技术实现同步的优点是高效、可靠,同时适合海量数据处理,也能扩展为异构数据库的同步。