Inix.ppt_第1页
Inix.ppt_第2页
Inix.ppt_第3页
Inix.ppt_第4页
Inix.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,中青旅尚洋电子技术有限公司 客户服务中心 梁广成,数据复制方案研讨,2,前 言,保险系统已实现了三级网络互连 网上增值应用产品 数据仓库 单证影像系统 保险电子商务 客服中心 所有应用产品必须依赖: 汇总的业务数据 数据集中是保险系统的当务之急 数据集中的方式,3,数 据 集 中 方 式,业务集中模式,4,采用Client/Server结构模式,5,采用中间件三层结构模式,6,采用数据复制技术模式,7,第一章 数据复制的概念与特性,一. 数据复制概念 数据复制就是在一个或多个地点产生数据的多份拷贝,实现数据 共享目的。 二. 数据复制的类型 有两种方式:同步复制和异步复制 1. 同步复制

2、源数据更新时,立即更新目标主机的数据。 要求数据复制系统的所有数据库服务器每时每刻均可用,任何 一个目标数据库服务器没有响应(如主机硬件、网络故障)都 会导致数据复制的失败。 同步数据复制适合于要求立即更新数据的应用环境。,8,2. 异步复制 源数据库数据改变后,再刷新复制点的数据。 数据库刷新的时间可根据应用及用户需求的不同而定。 优点是: 如果某个目标数据库服务器失败了,复制过程能够继续,且源 服务器事务处理不受复制过程的直接影响。 有三种应用模式: Primary-target Workflow Update anywhere 异步复制适合于保险系统目前的应用,9,三. 数据复制的捕获机

3、制 1. 基于触发器的复制 触发器(trigger)就像一个警报,它与数据库中某片记录相关,当 该记录项发生变化时,触发器激活复制过程,开始数据复制。 特点: 传送数据时,由于这种机制不能跟踪事务的信息,因此需要开 发程序来保证数据的完整性。 由于开发的应用程序与业务程序存在同一服务器中,以及完成 目标数据复制可能有多个事务参与,因此影响了系统的性能。 2. 基于日志的复制 源数据发生变化时,其逻辑日志随之改变,将变化的逻辑日志 复制到目标数据库,这种方式保证了数据的完整性。 特点: 以日志存储的稳定性来确定(或存储在目标主机,或回滚到源主 机的发送队列), 从而保证了数据的完整性。 由于日志

4、的处理是由另一个复制服务器来完成,因此对系统的 性能影响很小。,10,四. 数据复制的特性 1. 高性能 基于Log的捕获是数据库的内部机制,调用它几乎不需额外资源 开销,不会加重源数据库服务器的负担。 充分利用OnLine系统可伸缩性、并行处理的体系结构,可同时并发 处理多条数据复制, 以提高系统处理性能 2. 高可用性 主要体现在: a). 复制是异步的,可以容忍网络和目标节点的故障。 b). 采用一种发送机制:先在本地缓存数据,然后再发送到异地 数据库服务器,两端服务器的事务分别提交。 c). 遇到故障时,数据或存放在目标主机, 或回滚到源主机的发送 队列; 一旦恢复正常,发生变化的数据

5、被自动推送到异地节点。,11,3. 数据完整一致性 通过信息队列存储、发送数据, 系统只接受已安全存储的数据. 提供了一系列选项维护事务的顺序,目标数据库按同样的顺序修 改,从而保证数据库的一致性。 同时修改同一记录时,How to do ? cdr提供了一系列选项、用于侦测和解决冲突复制问题,保护 数据的完整性。 4. 灵活的体系结构 提供了一系列的模式以满足不同的应用需求。 如: 应用模式: Primary-target、Workflow 和 Update anywhere 工作模式: standard 与 expert 模式 网络拓扑: Fully interconnected (相互连

6、接) Hierarchical tree (树状层次结构) Forest of tree (森林式树状层次结构),12,5. 易于集中管理 管理员可通过Windows NT 图形界面(GUI)或UNIX系统命令 界面(CLU)两种方式来维护、管理复制系统上的节点、监控 所有节点的运行状况。 在每个复制数据库服务器上有一个全局目录表( globle catalog table)。它记录了有关数据复制的信息: 复制服务器 复制定义 冲突侦测和解决规则 以及与之相关的其它信息 任何对复制定义的改变都会自动传送到异地数据库的复制系统。,13,第二章 数据复制的应用模式 数据复制系统提供了三种模式: P

7、rimary-target Workflow Update anywhere 一. Primary-target模式 从一个源服务器到多个目标服务器或从多个源服务器到一个目标 服务器的单向数据刷新模式。 没有冲突产生、使用管理简单。 支持三种应用模式:数据分发、数据集中和工作负载分割。 1. 数据分发 在一个中心点更新数据,然后复制到其它地点的应用环境。 适合于中心点公司向分支机构发布数据。 为了保证系统性能及数据的完整性,建议分支机构只有读权限。,14,2. 数据集中 各分支点更新数据后,集中到一个只读的中央数据库的应用环境。,15,3. 工作负载分割 工作负载分割给数据库管理员提供了灵活的

8、设置能力,对数据控 制权(insert、delete、update)的设置是通过数据表来分区确定,而 不是依靠应用来划分。 采用Primary-target模式须考虑的因素: a).选择将要复制的数据,并为所选的数据创建唯一的主键 (primary key) b).规划用于存储将复制数据的数据的dbspace容量 (缺省空间为rootdbs) c).复制系统的可管理性 由于采用单向复制,不存在冲突检测和故障解决规则,配置与 复制管理比较容易 d).容错性能差,一旦出现系统、网络故障,复制系统将会终止。,16,二. Workflow模式 和主/从模式一样。工作流模式允许更新数据的权利从一个地点

9、前进到另一个地点, 但是在某一个时刻只允许一个地点进行数据修 改, 每个地点依赖于前一个地点的数据。在每一步完成后,信息被 更新然后复制到下一个地点。 典型的工作流例子:订单处理程序 一个订单首先由订单录入部门录入,接着订单被送到会计部门做 信用审核及开据发票,然后订单送到货品管理部门认可,最后订 单传送到运输部门打包发货。,17,三. Update anywhere模式 多个地点的数据同时具有更新能力。和主/从模式复制的数据 是只读的不同,任意点更新模式创建了点对点的应用环境,允许 多个地点同等拥有更新数据的权利。 管理配置最复杂,为了解决冲突问题,复制系统需要大量的 冲突侦测和解决策略。,

10、18,建议采用: 异步方式、基于日志的 Primary-target 数据复制模式,19,第三章 数据复制的对象与定义 一. 复制对象( replicate objects) 1.复制对象 在数据复制系统中定义将要复制的数据所需要的组成部件,包括: 复制服务器 (replicate server) 复制 (replicate ) 参与者 (participant) 复制组 (replicate group) 全球目录 (global catalog) 2.复制对象定义方法 有两种方法: a)利用工具 Windows NT GUI b)利用UNIX系统或 Windows NT 系统命令: cdr

11、 cdr的用法: cdr 参数 选项 目标 参数:cdr 命令所采取的动作 如:define server define replicate change replicate .,20,选项:对动作的修饰 可用长格式表示: -选项的全称 如:-initial 或短格式表示: -选项的略写 如:-I 目标:动作行动的对象 如:server、replicate、participant . 命令行的缩写 参数可缩写成三个或三个以上的字母 如:cdr define server -initial picc与 cdr def ser -I picc等同 选项的顺序:可任意顺序 续行符: 用“ ”表示 二

12、. cdr命令常用的几个选项 1.时间选项 A) -immed 或 -i 立即执行 B) -every=internal 或 -e internal 立即执行并在固定的时间间隔重复运行(最小间隔为1分钟) 例:-every=60 表示一小时复制一次 -e 5:30 表示五个半小时复制一次,21,C) -at=time 或 -a time 在指定的日期、时间(用24小时表示)启动复制。 例: -a sun.18:45 (每星期中的某天、某个固定时间) -a 23.18:45 (每月中的某天、某个固定时间) -a 12:45 (每天某个固定时间) 2. connect选项 -connect=ser

13、ver_name 或 -c server_name -connect=server-group_name 或 -c server-group_name 定义cdr 命令所需的资源来自于复制数据库服务器server_name 或 复制数据库服务器组server-group_name中的全球目录(Global catalog),而不是$INFORMIXSERVER中的全球目录。 三. 数据库服务器组(database-server group) 1. 概念 一台计算机可运行多个数据库服务器,这些服务器具有共同的特 性(UNIX系统名相同),它们可以规类为一个组,即数据库服 务器组。,22,cdr命

14、令使用数据库服务器组来表示参与数据复制的数据库服务 器,而不是复制数据库服务器名。 约定database-server group 名用 g_开头 例:g_picc 2. 数据库服务器组的定义 由$INFORMIXDIR/etc/sqlhosts文件定义。 g_picc group - - i=1 picc_rep ontlitcp host_name picc_rep g=g_picc picc_tcp ontlitcp host_name picc_tcp g=g_picc picc_shm onipcshm host_name picc_shm g=g_picc 需注意picc_rep端

15、口号的定义,IP地址与主机名的定义。 三. 复制服务器 1. 复制服务器概念 参与数据复制的数据库服务器。 一台计算机可驻留多个复制服务器(例:省公司主机),23,2. 复制服务器定义 cdr define server connect space -initial -sync sync_server server-group ! 约定: 在数据复制方案中, 复制服务器=数据库服务器组 选项: space 表示复制服务器的存储空间,存储将复制的日志 -send=send_dbspace (或-s send_dbspace) (源数据库发送空间,缺省为rootdbs,建议另建立一个大小 等于逻辑

16、日志空间的dbspace) -recv=rec_dbspace (或-r rec_dbspace) (目标数据库接受空间,缺省为rootdbs) -initial或-I 表示启动server-group组中的数据复制 -sync sync_server或-S sync_server 同步sync_server中的catalog到server-group中去 例: A. 在省公司主机定义本地复制服务器g_picc cdr define server -initial g_picc 或 cdr def serv -I g_picc,24,B. 在省公司主机上定义地市分公司的复制服务器g_ytpic

17、c (假设地市分公司的数据复制服务器名为yt_rep) cdr define server -connect=yt_rep -initial -sync=g_picc g_ytpicc 或 cdr def serv -c yt_rep -I -S g_picc g_ytpicc C. 在省公司主机上定义地市分公司的复制服务器g_ytpicc (假设地市分公司的数据复制服务器名为yt_rep, 复制数据存储 空间为senddbs) cdr def serv -c yt_rep -s senddbs -I -S g_picc g_ytpicc 四. 参与者 1. 参与者概念 数据复制 定义中的一个

18、实体, 它定义了将要复制的数据表,由数据复制服务器组, 数据库名,数据表名,属主owner及select语句(定义将要复制的数据)组成。,25,select语句的属性: A.选中的colume必须包含一个主键 (primary key) B.语句只能涉及一个数据表 C.语句不能包含关连(join) 与 subqurey D.语句可含where条件 2. 参与者定义 databaseserver-group:owner.table select colume form table 例: 地市公司 motorg_ytpicc:jdc.daap0 select * from daap0 五. 复制

19、1. 复制概念 定义了将要复制的数据(包括数据库,数据表,columes)以及将要连接的复制服务器。它包括: 复制名称 复制类型 选项 参与者 冲突解决规则 冲突解决范围,26,2. 复制定义 cdr define replicate 冲突选项 时间选项 replicate_name participant 冲突选项 : 在Primary-target模式中,一般选用 ignore -conflict=ignore 或 -C ignore participant: 表示源与目标一对参与者 例: 定义一个名为nc_daap0复制, 每天晚上22:00启动复制 cdr define replica

20、te -conflict=ignore -at=22:00 “P jdcg_ytpicc:informix.dapp0” “select * from dapp0” “R jdc_ytg_picc:informix.dapp0” “select * from dapp0” 六. 复制组 1. 复制组概念 具有相同复制服务器(datebase-server group)的几个复制构成一个组 使用复制组具有特点: A.易于管理数据复制. 如启动, 停止数据复制 B.可并行处理多个复制,提高系统性能.(缺省设置为队列处理),27,2. 复制组定义 cdr define group 选项 复制组名 包

21、含的复制 选项有 : connect options -sequential 对列复制 -parallel 并行复制 时间选项 例: 定义一个名为jdc_rep复制组,该组包含三个复制rep1, rep2, rep3 cdr define group jdc_rep rep1 rep2 rep3 注意:复制组名应唯一,复制与复制组名不能相同. 七. 全球目录 维护复制系统选项,状态,定义,统计数据等信息的一系列表,驻留在参与复制的服务器内, 包括: 复制定义 复制服务器 复制对象的状态 参与者定义 复制组定义,28,八. 数据复制过程 由四步组成: 捕获事务, 评测数据复制的条件, 分发数据,

22、 同步数据. A.捕获事务 读取逻辑日志, 标志发生变化的逻辑日志. B.估算数据复制的条件 启动时间 判定将要复制数据的最终内容, 并将该内容存储在信息队列(send) 中,等待发送. C.分发数据 将数据送到目标服务器, 检查是否产生了冲突? 是否定义了冲突解 决规则?冲突解决的范围? D. 同步数据 按相同的顺序同步目标数据库中的数据, 实现两端服务器的数据 一致性.,29,第四章 建立数据复制环境 一. 数据复制的局限性 A.仅在Informix动态服务器之间实现数据复制 B.不可与HDR (High Availability Data)同时使用 C.只能在数据表上实现复制 D.一个复

23、制数据库服务器只能参与一个复制或一个复制组 二. SQL语句的使用 定义了数据复制后,不能对已定义的数据表进行下列操作: A.删除表 B.更改表的名称 C.更改表中的字段 三. 信息队列的空间估算 A. send队列的空间大小 (须考虑网络故障) B. receive队列的空间可小于 send队列的空间 C.一旦复制定义完成,不可修改send空间,但可改变receive空间. 四. 对事务处理的影响 A.被复制的数据库采用unbuffer日志模式 B.被复制的数据量 C.select语句的复杂度,30,五. 支持的数据类型 支持所有informix数据类型. 简单数据类型的复制可垮不同硬件平台

24、 复杂数据类型(如BYTE,TEXT)需要特殊处理 六. 数据复制前的准备 在数据复制定义之前, 一定要确保源主机与目标主机的数据库内 容同步, 可采用工具: dbexport与dbimport unload与load onunload与onload,31,第五章 管理数据复制 按下列步骤配置管理数据复制 一. 定义数据库复制组 由文件$INFORMIXDIR/etc/sqlhosts , /etc/hosts , /etc/services定义 二. 定义复制服务器 1. 定义复制服务器 cdr define server 选项 server-group 例:cdr define serve

25、r -I g_picc 2. 删除复制服务器 cdr delete server 选项 server-group 例:cdr delete server g_picc 3. 列出复制服务器 cdr list server 选项 结果 : SERVER ID STATE STATUS g_picc 2 ACTIVE 三. 定义一个复制 1. 定义一个复制 cdr define replicate 选项 复制名称 “参与者” “select语句” 2. 删除一个复制 cdr delete replicate 选项 复制名称,32,3. 列出定义的复制 cdr list replicate 选项 结

26、果: REPLICATE STATE CONFILICT FREQUENCY OPTIONS jdc ACTIVE ignore immediate 四. 定义一个复制组 1. 定义一个复制组 cdr define group 选项 复制组名称 复制1 复制2 . 2. 删除一个复制组 cdr delete group 选项 复制组名称 3.列出复制组 cdr list group 选项 结果 : GROUP SEQ PARTICIPANT g_picc Y rep1 rep2 rep3 g_picc88 N jdc1 jdc2 jdc3 jdc4 五. 管理一个复制运行状态 1. 启动一个复

27、制 cdr start replicate 选项 rep_name server_group 注:若rep_name已规划为一个复制组,应启动replicate group 例:cdr start replicate -c ytpicc rep_jdc g_picc g_ytpicc,33,2. 停止一个复制组 cdr stop replicate 选项 rep_name server_group 例:cdr stop replicate -c ytpicc rep_jdc g_picc g_ytpicc 六. 管理一个复制组运行状态 1. 启动一个复制组 cdr start group 选项

28、 rep_group server_group 例:cdr start group rep_jdc g_picc g_ytpicc 2. 停止一个复制组 cdr stop group 选项 rep_group server_group 例:cdr stop group rep_jdc,34,一. 网络拓扑图,第六章 方案设计,35,二.设计方案 1.方案一(各地市公司数据汇总在省公司一个数据库中),A. 复制内容应用数据的子集 省数据中心有选择地复制地市公司业务数据的某些表、表中的 某些字段或按某种条件选出的记录,各地市公司数据库中相同的 表集中在省公司数据库中的一个表上,即省数据中心的数据是

29、地 市数据的一个子集,各地市公司的业务数据全部汇总集中到省公 司数据中心的一个数据库中,很方便地对全省的保险业务数据进 行综合处理与监测。,36,数据集中示意图,37,B. 复制前的数据同步 利用informix 数据卸载工具,将各地市公司业务数据的相关表 及字段通过网络传送到省公司数据中心,并装载到省公司的主机 上,保证省公司主机上的数据和地市公司主机上数据库完全相同。 确保复制前的数据同步。 C. 数据的复制 利用informix的cdr 主/从模式将各地市公司的主机设为生产机, 省公司的主机为复制机。当地市公司主机更新数据库时,它将相 应的逻辑日志定时或实时发送给省公司主机,省公司主机根

30、据此 日志对地市公司的数据库进行相同的操作,从而保证了省公司主 机上的数据与地市公司的数据保持一致。,38,D. 性能评价 优点: A.由于各地市仅将数据库的子集(部分表、表的部分字段)复制 到省公司数据中心,因此复制占用的带宽比较小,速度快。 B.省公司集中的单一数据库,可利用业务程序直接查询或作为数 据仓库的基础数据来源。 缺点: A.由于省公司仅保留了各地市的数据子集,因此地市公司的数据 安全更多地依赖于本地的数据备份,备份功能差。 B. 在实施上,要求参与复制的表结构定义中应该有一些字段可用 来标明该数据的原地址,如保单表中的保单号、单位代码,增 加了项目实现的难度。 C.对一些可能重

31、复的数据表,还需要定义冲突解决规则。,39,2. 方案二,(各地市公司数据汇总在省公司多个数据库中) A. 复制内容应用数据的全部 和方案一不同,将各地市应用数据库中,除了固定不变的系统参 数表、本地临时表、存放图形的blob字段外的数据表的全部字段都 复制到省公司数据中心。,40,数据集中示意图,41,B、C与方案一相同 D. 性能评价 优点: A. 数据复制更为全面,可作为地市分公司数据的异地备份。 B.复制是一对一的,无需考虑冲突侦测和解决规则。 C. 适用于不能从数据表结构来区分应用数据库的工作环境。 缺点: A.对于数据仓库,可以按照决策支持系统的需求,采用数据 抽取软件或自己开发的

32、软件,从省公司的复制数据库按需 求提取。 B.复制占用较多的带宽,增加了省数据中心的维护工作。 C.省公司主机与每个地市公司的数据库均有连接,因此要求 省公司主机具有的超强性能的处理能力和容量很大弟硬盘。,42,三. 实验范例 1.实验环境,43,2.准备地市公司将复制的数据及发送空间 A. 创建数据库jdc 和表aaa、bbb。 创建了一个数据库名为:jdc (属主为 jdc ) 在该数据库中建立了两个表:aaa和bbb 表结构如下: create table aaa ( a1 integer not null , a2 char(4) not null a3 date not null ,

33、 a4 float not null , a5 varchar(64), ); create table bbb ( b1 integer not null , b2 char(4) not null , ); B. 对数据库执行加唯一索引操作 alter table aaa add constraint primary key(a1) constraint ”jdc.pkaaa;,44,alter table bbb add constraint primary key(b1) constraint ”jdc.pkbbb 注:constraint为附加限制,命名规则为:pk表名 C.卸载数据

34、库 (假设jdc库的属主为car) 运行优化的SQL语句后,卸载数据库jdc,将之传送到省公司主机 $ update statistics $ dbexport jdc D.建立数据复制发送数据空间 senddbs $onspaces c d senddbs p /dev/ronline o xxxx s 150000 E.改变数据库jdc的日志模式 (为unbuffer) $ ontape -s -U jdc 3.同步省公司数据 A.将经过处理的地市公司数据库 jdc 的数据传送到省公司。 B.在省公司更改数据库的名称,将jdc改为jdc_nc,装载数据库 jdc_nc到省公司主机上,并运行优化SQL语句。 $ dbimport jdc_nc -l $ update statistics,45,C.删除省公司数据库所有的trigger。 D.建立数据复制接收空间 recvdbs $onspaces c d recdbs p /dev/ronline o xxx s 150000 4.配置服务器连接文件$INFORMIX/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论