论文部分内容阅读
摘要:介绍了分布式数据库的特点以及在企业MIS/ERP系统中的应用和数据分布特性,阐述了松耦合分布式数据环境中的数据库复制技术。
关键词:分布式数据库;松耦合;数据分片;数据库复制
引言
当今社会飞速发展,许多企业的经营和管理规模不断扩大,营业和管理机构的分散造成了业务数据的分散,总公司与各分公司处于不同的城市或城市中的各个地区,在业务上它们处理各自的数据,但也需要彼此之间数据的交换和处理,如何协调处理分散的数据和集中的管理,是企业发展的关键问题之一,也是MIS/ERP系统开发者要研究和解决的重点。分布式数据库系统技术在这个方面就起到了至关重要的作用,使企业在运作中能够得心应手地管理处于分布环境下的各种数据。
1 分布式数据库特点介绍
分布式数据库(DDB)的数据分布在计算机网络的不同节点(亦称场地)上,网络中的每个节点具有独立处理的能力(称为场地自治),可以执行局部应用,同时,每个节点也能通过网络系统执行全局应用。系统强调节点的自治性而不强调系统的集中控制,且应保持数据的分布透明性,在编写应用程序时可完全不考虑数据的分布情况。分布式数据库的显著特点是:
(1)分布性
数据库中的数据不是存储在同一计算机。这有别于集中式数据库。
(2)逻辑相关性
数据库逻辑上是相互联系的一个整体,而不是分散的局部物理数据库的集合。
(3)分布式透明性
所谓分布式透明性就是在编写程序时好像数据没有被分布一样,因此,数据转移不会影响程序的正确性。
(4)数据冗余
与集中式数据库系统不同,数据冗余是分布式系统的重要特性,其原因在于:首先,如果在需要的节点复制数据,则可以提高系统局部的应用能力。其次,当某节点发生故障时,可以操作其它节点上的复制数据,因此,提高了系统的有效性。
(5)数据存储途径
在分布式数据库中,数据存储通过以下三种途径实现。
复制:系统维护多个完全相同的副本,这些副本存储在不同的节点上。
分片:关系被划分为几个片段,各个片段存储在不同的节点上。
复制+分片:关系被划分为几个片段,系统为每个片段维护几个副本。
2 分布式数据库技术在企业数据管理中的应用现状及特点
在多数使用了分布式数据库的企业MIS/ERP系统中,总公司与各分公司处于不同的城市或城市中的各个地区,在业务上它们处理各自的数据,但彼此之间也需要进行数据交换和处理。这种处理一般有两种情况:一种是数据的交换和处理必须实时进行以确保数据库的紧密一致性;另一种是定期地进行数据交换和处理,甚至只在必要时进行,这种方式对于数据库的一致性在时间上要求不高,各场地间保持松耦合状态,每个营业机构处理的是本机构的数据,各营业机构之间或下级营业机构与上级营业机构之间只是定期进行数据的交换。大多数企业MIS/ERP应用都是采用松耦合分布式数据环境。
松耦合分布式数据环境从全局应用的角度出发,将分公司的所有数据库自下而上构成分布式数据库系统,实现全局数据的完整性和一致性,各营业机构存放本机构的数据,总公司的数据库则存放所有业务数据,并对数据进行完整性和一致性的检查。这种做法虽然有一定的数据冗余,但在不同场地存储同一数据的多个副本,能提高系统的可靠性和可用性,同时提高局部应用的效率,减少通讯代价。分布式数据库系统可以在对当前机构影响最小的情况下进行扩充,增加新的营业机构时只需增加一个节点就可以了,同时也使得各处理机之间的相互干扰降到最低。
3 数据库复制技术在松耦合分布式数据环境中的实现
分布式数据库系统可以通过复制、分片和复制加分片三种方式存储数据。因为各数据库之间存在一定的数据冗余,又存在着差异,我们使用了复制十分片的方式进行数据存储。
3.1 数据分片
在分布式数据库系统中,将关系分片,有利于按用户需求组织数据,目前的分片方式有水平分片、垂直分片、导出分片、混合分片等四种。我们根据不同的数据关系采用了不同的分片方式:
水平分片对于总公司与分支营业机构的数据关系,由于分支机构的数据是总公司业务数据的子集,我们采用了水平分片的方式,通过并运算实现关系的重构。
垂直分片对于总公司数据库服务器与Web数据库服务器的数据关系,数据是按照其应用功能来划分的,所以我们采用了垂直分片的方式。
3.2 数据库复制技术
3.2.1选用数据库复制技术的原因
数据库复制技术是在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术。企业生产管理的数据环境特性是:①数据中心(总公司)的新数据或处理后的数据需要复制或分发至一个或多个数据分中心(各营业厅)。②各个数据分中心的数据被汇总到数据中心服务器上,然后由数据中心服务器加以归并整合。因此,我们选择使用数据库复制技术作为这种松耦合分布式数据环境的解决方案。
3.2.2解决方案
数据库复制的过程不像一般的数据传递,它更要将数据进行同步处理。由于总公司数据库服务器与Web服务器之间的数据交换是双向的,总公司业务管理和营业所业务管理都会产生新的业务数据,所以我们使用合并复制方式实现数据同步:把总公司数据库服务器设置为出版者,Web数据库服务器设置为订阅者,合并复制监视源数据库中的改变,并同步出版者和订阅者的数据值,其中无论是出版者还是订阅者均可以更新数据。当出版者同订阅者发生冲突时,我们将出版者设置为高优先级。与此类似,目的数据库中的数据改变将被告知源数据库。合并复制涉及快照代理和合并代理的参与。快照代理将准备包含有被出版数据表的结构与数据的快照文件,在分发者上存储这些文件,并在分发者的分发数据库中记录同步任务。合并代理应用存储在出版数据库表中的初始快照任务于订阅者;它也合并在最初快照建立后改变的数据,并依据用户配置的规则或使用用户自定义的解决方法来协调冲突。
3.2.3具体实施步骤
(1)数据中心配置发布服务器和分发服务器,指定发布数据库和分发数据库和发布类型(合并发布),指定存储快照文件夹的根位置并创建发布。
(2)数据中心创建请求订阅,添加或指定注册的订阅服务器。
(3)脱机工作时,各个数据分中心可以更新数据。网络连通后,通过使用请求订阅,各数据分中心通过订阅服务器下载数据中心分发的相应数据。
(4)连通数据中心发布数据库服务器,生成订阅。订阅生成后,各个数据分中心更新后的数据将传送到发布服务器和订阅服务器,同时进行同步处理检测并解决冲突。
3.2.4特别说明
在实际操作中,如果由于网络传输速率太低或者掉线会给数据库复制的初始化工作带来不便。因此,我们可以采用在数据中心局域网初始化各分中心的订阅数据库框架,再将该数据库用移动存储的方式移到相应数据分中心的方法解决。
(1)(数据中心)在发布服务器上首先配置发布和分发,使用数据中心局域网的其他计算机作为订阅服务器,对每个分中心的订阅内容进行一次初始化订阅操作(需要用快照初始化框架),以生成相应的订阅数据库。
(2)各分中心使用移动存储将自己已初始化的订阅数据库从数据中心移到本地订阅服务器上。
(3)分中心连通数据中心发布数据库服务器,生成订阅(此时不需要初始化框架),订阅生成后马上运行同步处理,其间不要更改任何数据(适用发布服务器,订阅服务器)。
使用这种方式可以有效地避免因网络传输速度慢或者断网以及发布服务器初始化订阅服务器框架不易顺利进行的问题。以这种方式初始化订阅数据库框架后,复制操作按照数据库复制的规范步骤进行即可。
4 结束语
本文探讨了松耦合分布式数据环境中的数据库复制技术,提出的实现方案有效地解决了企业MIS/ERP的数据中心和数据分中心之间进行数据分发和同步的一致性问题,减少了通讯代价,增强了系统的可靠性和可用性,提高了整个系统运行的效率。
关键词:分布式数据库;松耦合;数据分片;数据库复制
引言
当今社会飞速发展,许多企业的经营和管理规模不断扩大,营业和管理机构的分散造成了业务数据的分散,总公司与各分公司处于不同的城市或城市中的各个地区,在业务上它们处理各自的数据,但也需要彼此之间数据的交换和处理,如何协调处理分散的数据和集中的管理,是企业发展的关键问题之一,也是MIS/ERP系统开发者要研究和解决的重点。分布式数据库系统技术在这个方面就起到了至关重要的作用,使企业在运作中能够得心应手地管理处于分布环境下的各种数据。
1 分布式数据库特点介绍
分布式数据库(DDB)的数据分布在计算机网络的不同节点(亦称场地)上,网络中的每个节点具有独立处理的能力(称为场地自治),可以执行局部应用,同时,每个节点也能通过网络系统执行全局应用。系统强调节点的自治性而不强调系统的集中控制,且应保持数据的分布透明性,在编写应用程序时可完全不考虑数据的分布情况。分布式数据库的显著特点是:
(1)分布性
数据库中的数据不是存储在同一计算机。这有别于集中式数据库。
(2)逻辑相关性
数据库逻辑上是相互联系的一个整体,而不是分散的局部物理数据库的集合。
(3)分布式透明性
所谓分布式透明性就是在编写程序时好像数据没有被分布一样,因此,数据转移不会影响程序的正确性。
(4)数据冗余
与集中式数据库系统不同,数据冗余是分布式系统的重要特性,其原因在于:首先,如果在需要的节点复制数据,则可以提高系统局部的应用能力。其次,当某节点发生故障时,可以操作其它节点上的复制数据,因此,提高了系统的有效性。
(5)数据存储途径
在分布式数据库中,数据存储通过以下三种途径实现。
复制:系统维护多个完全相同的副本,这些副本存储在不同的节点上。
分片:关系被划分为几个片段,各个片段存储在不同的节点上。
复制+分片:关系被划分为几个片段,系统为每个片段维护几个副本。
2 分布式数据库技术在企业数据管理中的应用现状及特点
在多数使用了分布式数据库的企业MIS/ERP系统中,总公司与各分公司处于不同的城市或城市中的各个地区,在业务上它们处理各自的数据,但彼此之间也需要进行数据交换和处理。这种处理一般有两种情况:一种是数据的交换和处理必须实时进行以确保数据库的紧密一致性;另一种是定期地进行数据交换和处理,甚至只在必要时进行,这种方式对于数据库的一致性在时间上要求不高,各场地间保持松耦合状态,每个营业机构处理的是本机构的数据,各营业机构之间或下级营业机构与上级营业机构之间只是定期进行数据的交换。大多数企业MIS/ERP应用都是采用松耦合分布式数据环境。
松耦合分布式数据环境从全局应用的角度出发,将分公司的所有数据库自下而上构成分布式数据库系统,实现全局数据的完整性和一致性,各营业机构存放本机构的数据,总公司的数据库则存放所有业务数据,并对数据进行完整性和一致性的检查。这种做法虽然有一定的数据冗余,但在不同场地存储同一数据的多个副本,能提高系统的可靠性和可用性,同时提高局部应用的效率,减少通讯代价。分布式数据库系统可以在对当前机构影响最小的情况下进行扩充,增加新的营业机构时只需增加一个节点就可以了,同时也使得各处理机之间的相互干扰降到最低。
3 数据库复制技术在松耦合分布式数据环境中的实现
分布式数据库系统可以通过复制、分片和复制加分片三种方式存储数据。因为各数据库之间存在一定的数据冗余,又存在着差异,我们使用了复制十分片的方式进行数据存储。
3.1 数据分片
在分布式数据库系统中,将关系分片,有利于按用户需求组织数据,目前的分片方式有水平分片、垂直分片、导出分片、混合分片等四种。我们根据不同的数据关系采用了不同的分片方式:
水平分片对于总公司与分支营业机构的数据关系,由于分支机构的数据是总公司业务数据的子集,我们采用了水平分片的方式,通过并运算实现关系的重构。
垂直分片对于总公司数据库服务器与Web数据库服务器的数据关系,数据是按照其应用功能来划分的,所以我们采用了垂直分片的方式。
3.2 数据库复制技术
3.2.1选用数据库复制技术的原因
数据库复制技术是在数据库之间对数据和数据库对象进行复制和分发并进行同步以确保其一致性的一组技术。企业生产管理的数据环境特性是:①数据中心(总公司)的新数据或处理后的数据需要复制或分发至一个或多个数据分中心(各营业厅)。②各个数据分中心的数据被汇总到数据中心服务器上,然后由数据中心服务器加以归并整合。因此,我们选择使用数据库复制技术作为这种松耦合分布式数据环境的解决方案。
3.2.2解决方案
数据库复制的过程不像一般的数据传递,它更要将数据进行同步处理。由于总公司数据库服务器与Web服务器之间的数据交换是双向的,总公司业务管理和营业所业务管理都会产生新的业务数据,所以我们使用合并复制方式实现数据同步:把总公司数据库服务器设置为出版者,Web数据库服务器设置为订阅者,合并复制监视源数据库中的改变,并同步出版者和订阅者的数据值,其中无论是出版者还是订阅者均可以更新数据。当出版者同订阅者发生冲突时,我们将出版者设置为高优先级。与此类似,目的数据库中的数据改变将被告知源数据库。合并复制涉及快照代理和合并代理的参与。快照代理将准备包含有被出版数据表的结构与数据的快照文件,在分发者上存储这些文件,并在分发者的分发数据库中记录同步任务。合并代理应用存储在出版数据库表中的初始快照任务于订阅者;它也合并在最初快照建立后改变的数据,并依据用户配置的规则或使用用户自定义的解决方法来协调冲突。
3.2.3具体实施步骤
(1)数据中心配置发布服务器和分发服务器,指定发布数据库和分发数据库和发布类型(合并发布),指定存储快照文件夹的根位置并创建发布。
(2)数据中心创建请求订阅,添加或指定注册的订阅服务器。
(3)脱机工作时,各个数据分中心可以更新数据。网络连通后,通过使用请求订阅,各数据分中心通过订阅服务器下载数据中心分发的相应数据。
(4)连通数据中心发布数据库服务器,生成订阅。订阅生成后,各个数据分中心更新后的数据将传送到发布服务器和订阅服务器,同时进行同步处理检测并解决冲突。
3.2.4特别说明
在实际操作中,如果由于网络传输速率太低或者掉线会给数据库复制的初始化工作带来不便。因此,我们可以采用在数据中心局域网初始化各分中心的订阅数据库框架,再将该数据库用移动存储的方式移到相应数据分中心的方法解决。
(1)(数据中心)在发布服务器上首先配置发布和分发,使用数据中心局域网的其他计算机作为订阅服务器,对每个分中心的订阅内容进行一次初始化订阅操作(需要用快照初始化框架),以生成相应的订阅数据库。
(2)各分中心使用移动存储将自己已初始化的订阅数据库从数据中心移到本地订阅服务器上。
(3)分中心连通数据中心发布数据库服务器,生成订阅(此时不需要初始化框架),订阅生成后马上运行同步处理,其间不要更改任何数据(适用发布服务器,订阅服务器)。
使用这种方式可以有效地避免因网络传输速度慢或者断网以及发布服务器初始化订阅服务器框架不易顺利进行的问题。以这种方式初始化订阅数据库框架后,复制操作按照数据库复制的规范步骤进行即可。
4 结束语
本文探讨了松耦合分布式数据环境中的数据库复制技术,提出的实现方案有效地解决了企业MIS/ERP的数据中心和数据分中心之间进行数据分发和同步的一致性问题,减少了通讯代价,增强了系统的可靠性和可用性,提高了整个系统运行的效率。