(上接第2期)
本节主要介绍由中心数据库向各终端数据库进行数据分发的配置与开发,详细介绍如何利用PowerDesigner 进行由单一中心数据库(ASE)向多个异构目标数据库(Oracle, MSSQL,ASE)进行数据分发复制的配置过程。PowerDesigner为数据复制与定义的配置提供了多种方式,除了在3.3章节所介绍的直观的配置之外,还有复制向导,Mapping Editor等。接下的章节主要介绍如何使用这两种配置方式。
与数据合并不同,数据分发的目标数据库由单一的ASE数据库变成了包含ASE数据库和非ASE数据库(Oracle, MS SQL)。对于非ASE目标数据库,需要借助复制网关ECDA进行Replication Server 到目标数据库的无缝连接。通过ECDA进行连接的非ASE目标数据库,将拥有不同于上一节中的Data Server Name和Database Name。详细内容请参阅复制网关使用手册。 添加了合并配置的 ILM拓扑结构如图9。
从图中可以看出,尽管Site.SiteOracle与ECDASiteA.SiteOracle,SiteC与ECDASiteC.Site_MSSQL 名称不同,但它们所指却是相同的数据库。而对于ASE数据库SiteB.Site_ASE, 由于不需要使用复制网关ECDA,它和复制服务器之间是一个直接的双向连接。
图9 PowerDesigner ILM数据分发与合并拓扑图
3.4.1 利用复制向导配置对目标异构数据库的配置
复制向导大大简化了复制系统的配置过程,本节将以配置中心数据库ASE到终端数据库Oracle为例,介绍复制向导的使用步骤:
(1)启动复制向导Tools->Replication Wizard, 如图10。
图10 复制向导配置首页
(2)选择源数据库及复制服务器(或复制过程)。
(3)创建复制定义。
图12 复制向导复制定义创建
(4)选择复制对象,创建表格级复制定义。
图13 复制向导复制定义对象选择
(5)创建目标数据库连接。对于非ASE数据库,不能复用已有的数据库,而需要创建新的数据库连接。新的数据库连接拥有与复制网关ECDA相关的数据库服务器名Data Server Name和数据库名Database Name。
图14 复制向导目标数据库配置
(6)为目标数据库选择已经存在的PDM。这个PDM需要复用数据合并中使用的数据库模型,因为它们都指向同一个数据库。
图15 复制向导目标数据库与PDM关联配置
(7)与现有ILM模型进行合并,检查并解决可能出现冲突项,如重复命名等。点击确认(OK)完成复制向导的配置。
图16 复制向导模型生成
从以上各个步骤可以看出,复制向导将3.3节所介绍的手工配置复制系统的过程进行了标准化,从而减少了用户的记忆负担,更加方便易用。需要注意的是,PowerDesigner 复制向导会直接使用表格名称作为表格级复制定义的名称,当表格是中文字符时,需要确认所使用的Replication Server支持中文字符。否则,需要在复制向导完成后,按照3.3节所示的方法,手工修改表格级复制定义的名称。
3.4.2 利用Mapping Editor进行异构复制数据库配置
应用Replication Process Mapping Editor能够对复制定义与复制订阅进行批量化的配置开发。Mapping Editor具有直观、简便等特点,能够屏蔽复杂的复制定义和订阅配置的过程。
Mapping Editor对话框分为3个部分,分别是源对象框,目标对象框以及属性框。用户通过拖放(drag and drop)就可以进行复制对象源和目标的匹配,非常简洁,且适合大规模定义操作。
下面以配置中心数据库ASE到终端数据库MSSQL为例,介绍Mapping Editor的主要使用步骤。
(1)启动Mapping Editor。 右击复制服务器图标,选择Mapping Editor。
(2)根据已有数据连接的连接属性,Mapping Editor将源和目标对象分列在源对象框和目标对象框。如果已经定义了复制定义,源对象将呈现为图标,目标对象将呈现为图标。
(3)创建数据库。点击工具栏中数据库连接创建工具,创建新的MSSQL数据连接。此过程与复制向导类似。
(4)展开源和目标对象(表),将源对象拖放到目标对象上,即相应的Mapping(复制定义,复制订阅)。一个带方向箭头的连接线将清楚的标识新定义的复制。
(5)右击源对象,打开对象菜单,可以删除/隐藏已经定义的Mapping,也可以打开Mapping的属性对话框进行详细的配置,包括Mapping 的触发器(Triggers),规则(Rules)等等。
图17 Mapping-Editor 配置
在已经发行的PowerDesigner版本中,Mapping-Editor只支持仅有单个复制服务器的ILM模型。在未来PowerDesigner版本,这个限制有可能被取消以适应越来越复杂的复制需求。
在3.3节和3.4节,我们已经完成了大部分复制系统的配置工作,也能够通过属性对话框的Preview窗口查看生成的脚本。接下来的任务就是检查这些配置的正确性,以及生成真正可以在数据库,复制代理,复制服务器上运行的脚本文件。
3.5.1 模型检查
PowerDesigner ILM 提供了Check Model的工具,用来检查模型配置的一致性。尽可能地保证生成脚本的正确性。模型检查的主要使用步骤如下:
(1)启动Check Model工具。菜单Tools --> Check Model。(2)展开Option属性页,选择需要检查的项目。(3)展开Selection属性页,选择需要检查的ILM model。点击确认(OK)进行模型检查。
(4)检查完毕,弹出结果列表。根据结果列表的详细描述,可以轻松找到错误的或值得警告的配置。更正所有的错误配置和警告之后,可以重复以上步骤知道没有任何错误提示或需要更正的警告提示,模型检查工作就完成了。
3.5.2 脚本生成
运行Check Model并修正所有配置之后,就可以生成相应的脚本文件了。脚本的生成尽管是所有配置检查工作的最终目的,但却是整个配置开发过程最简单的一步,主要的使用步骤包括:
(1)启动脚本生成对话框。Tools→Replication 15.2→Generate Scripts。
(2)展开Selection属性页,选择所要生成脚本的数据库和复制服务器。
图18 模型检查结果列表
(3)查看将要生成的脚本文件。
(4)创建运行任务,指定是否需要在指定的复制代理或复制服务器上执行所生成的脚本。如果要运行,前提是必须为所选的复制代理或复制服务器配置ODBC或JDBC连接信息,详细信息请参考PowerDesigner使用手册。
(5)点击确认(OK)运行脚本生成。
图19 脚本生成文件列表
如果没有选择在复制代理或复制服务器上直接运行生成脚本,可以将脚本文件全部或部分(根据需要适当剪裁)地通过服务器的命令行工具在数据库,复制代理,复制服务器或复制网关上直接运行。整个异构双向的复制系统的配置与开发工作至此全部完成。
Sybase Replication Server是一个优秀的数据库复制系统,能够在异构环境中管理数据的复制转移;PowerDesigner作为一个强大的建模工具,提供了多种途径(手工配置,复制向导,Mapping-Editor等)帮助用户快速便捷的设计、配置和建立Replication Server复制系统,降低了复制系统配置与开发的复杂度,极大的提高了系统开发人员的开发效率。更难能可贵的是, PowerDesigner和使用广泛的Sybase Replication Server仍在不断创新,不断增加激动人心的新特性,以满足市场的需求。