




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
R7-DIP技术白皮书R7-DIP企业数据交互平台技术白皮书目 录1概述32系统运行需要数据交互平台33了解数据库复制44R7-DIP概览55R7-DIP实现原理76一次抓取,多次应用97支持的复制拓扑类型108数据初始同步119离线分析与DataGuard1210误操作与UNDO功能1311支持的操作类型1412基于web的操作界面1913众多的应用场景2114主要性能参数指标2415安装拓扑2416用户环境测试2516.1*公司功能测试2517R7-DIP与同类软件相比的特点291 概述数据交互平台就是在企业内的各个信息系统之间实时的交互数据,从拥有数据的一方实时传输到需求数据的一方,实现企业内系统之间的实时数据交互,实现不同系统之间的有机集成,实现本地化存储改善查询报表性能。2 系统运行需要数据交互平台1、信息孤岛期待数据交互平台烟囱式的系统建设导致企业建设了多个相互独立的系统,例如ERP系统,OA系统,物流系统等,这些系统之间由于是不同厂商开发,而且分属不同时间段开发,相互之间没有统一的数据交互标准,导致许多数据没有统一规划,无法有效交互,导致同一数据分散管理,含义不同。企业数据交互平台可以帮助企业建设系统交互标准,实现同一数据的统一管理入口,并通过数据实时交互将数据发送给所有需要数据的一方,数据需求方可实现本地存储,提高数据查询检索效率。2、渐进式的系统建设需要数据交互平台没有人能够在企业初期就完全规划所有信息系统的建设,注定了企业的系统建设是一个渐进式的过程,每新建一个系统无可避免的需要从已有系统中获取数据才能实现有效集成。而传统方式是每个新系统的上线都需要所有系统的开发商为其定制化开发接口,大大的提高了系统开发复杂度、提高了项目费用、延后了项目工期。有了数据交互平台后,当新系统上线时不再需要已有系统提供数据接口,而是在数据交互平台上通过参数的设置简单实现从已有系统上实时获取数据。3、更大限度的挖掘数据的价值需要数据交互平台通过数据交互平台可为企业建设集中统一的数据仓库,从各个业务系统中实时获取数据进行加工处理,发现数据中蕴含的巨大价值。4、提高系统运行效率和可靠性需要数据交互平台通过数据交互平台可为业务系统建设实时备份系统,而且通过该备份系统可提供查询、报表、对外数据接口等增值功能。3 了解数据库复制数据库复制技术是企业数据交互平台的核心,将作为数据源的数据库上的所有变化实时抓取出来,并发送给一个或多个目标端。数据库复制软件能够实现数据的实时复制,而且不需要DBA的手工介入,对于数据需求方来说,当他需要查询数据的时候,数据就已经准备好了。作为数据库复制软件的工作原理比较复杂,有多种方式来实现数据库复制,如下列举了几中常见的数据库复制技术原理:l 数据导出和装入:从数据所在系统通过数据查询接口将数据抽取出来,然后装载到一个或多个目标端。复制的间隔可以是以小时、天或者几天。这种方法适合对数据的实时性要求较低的情况。l 两阶段提交:两阶段提交技术是通过数据库引擎将本地数据修改和异地数据修改作为一个事务,确保事务在本地写入的同时也写入了异地数据库,这种方式能够保证本地和异地库的0时间延迟。但是却严重影响了事务提交的效率,不适合大数据量的系统。l 快照:在指定的时间点形成一个生产数据的静态影像,静态影像可以提供给一个或多个目标端数据库使用,这种方式不适合实时的数据交互需求。l 数据库触发器(Trigger):通过数据库的触发器(trigger)将数据复制到一个或多个目标端数据库。该方式为生产系统带来了巨大的负担,影响了生产数据库的吞吐量。l 数据库日志分析方式:这个是R7-DIP软件所采用的数据复制方式,数据库的事务日中记录了所有的数据修改,包括insert,update,delete以及其他所有有关数据修改操作。数据复制软件通过对log的解析生成数据,并将数据实时传输到一个或多个目标端。4 R7-DIP概览R7-DIP是翱旗创业(北京)科技有限公司为实现企业数据交互平台提供的基础套件,该套件实现企业数据库系统的实时数据捕获和应用。该基础套件实现了数据捕获、数据分析合成、数据存储、数据应用、系统管理等整个系统架构。在此基础套件基础上可实现对不同数据库类型、不同操作系统类型、不同应用类型的集成支持。R7-DIP通过数据库的远程访问机制,通过TCP/IP网络访问数据库的事务日志,并读取事务日志中的有用信息,将信息翻译成SQL语句进行传输。R7-DIP支持主流的数据库的抓取,包括:l ORACLEl MS SQL SERVERl DB2抓取的数据通过SQL命令可以发送到任何SQL兼容的数据库中去。R7-DIP产品通过独有的远程访问技术,通过网访进行数据抓取,无需在数据库服务器上安装代理程序。一方面可以降低对生产系统的影响,降低系统维护难度,降低系统建设成本。另一方面大幅度降低系统的部署难度,尤其适合在同步的数据库节点较多的应用环境。R7-DIP软件安装在独立的DIP SERVER上,与数据源和数据目标端的操作平台无关,可以支持任何ORACLE数据库支持的平台,包括各种unix、linux、windows等操作系统,也无论是采用文件系统、裸设备还是ASM都可以支持。5 R7-DIP实现原理R7-DIP是通过对oracle 等数据库的事务日志(redo log)做实时分析,获取数据库中的所有操作命令和数据,并将这些数据根据不同的应用类型进行加工处理,处理结果被分配到所有订阅了这些数据的队列中,再由每个订阅的数据应用程序将数据装入对应的数据库中。R7-DIP在数据库实时数据捕获方面,采用了独特的技术,能够支持业界主流的数据库的CDC,这些加工完成的数据可以通过SQL语句方式、消息机制、接口文件等方式装入到不同类型的数据库中,或者其他需要这些数据的应用程序接口上。R7-DIP从不同的数据库系统的log日志中分析如下信息:事务号用来标识一条SQL语句所属的事务,可用于将一个事务中的所有SQL语句集合起来形成一个数据包。通过事务号可以保证事务的完整性。事务起始号用来标识该事务开始的点,一般通过系统改变号(SCN)来表示事务开始点事务开始时间用来标识该事务开始的时间,一般通过timestamp数据类型来表示事务结束号用来标识该事务结束的点,一般也通过系统改变号(SCN)来表示事务结束点。事务开始时间用来标识该事务结束的时间,一般通过timestamp数据类型来表示事务结束类型用来标识事务时rollback还是commit。R7-DIP只对commit事务进行传输加载。操作对象该条SQL语句对应的操作对象,例如table name,或者其他object name记录标识用来标识INSERT,UPDATE,DELETE操作所对应的记录,一般通过该记录的primary key字段来表示,如果没有primary key或者unique index,则用整条记录的所有字段来作为key。改变数据记录insert,update,delete或者DDL所操作的每个字段的值,包括操作之前的before image值,也包括操作之后的after image值。Session信息用来记录该操作是由哪个machine,通过哪个username,哪个application发起的改变。R7-DIP在读取到上述信息后,再经过数据翻译、交易整合、数据过滤等几个环节后将数据输出到装载队列文件中。Loader(或者ETL模块)从装载队列中读取进行处理。R7-DIP软件部署在一台独立服务器上,不需要在数据源数据库服务器和目的端的数据库服务器上安装代理程序,避免对生产数据库造成影响和负担。6 一次抓取,多次应用数据捕获进程将读取的数据发送到用文件存放的队列中去,一般抓取进程指定抓取一个或多个schema中所有对象的改变数据。保存在文件中的队列数据通过队列控制文件记录了保存在队列中的最早事务和最晚事务。一个队列文件可以提供给多个不同的装载程序使用,例如有的loader进程需要所有用户的数据,用来提供灾备支持;有的loader用来做为查询业务,只需要使用指定的几十张表;有的loader可以用来提供给ETL抽取,需要提供详细的修改时间和操作类型等。每个loader都可以有自己的过滤和转换配置参数,用来指定每个loader需要装载哪些数据,过滤哪些数据,需要做什么样的转换等。每个loader在读取完数据后,不删除队列中的数据,而是记录属于自己队列的断点信息,确保下次重启后可以从断点读取数据。队列中的数据由一个独立的应用程序根据每个loader装载完成的SCN点进行清理。7 支持的复制拓扑类型R7-DIP可以被灵活配置,以支持各种复制策略,支持各种增值应用。如:单向复制:从一个数据库向另一个数据库复制;双向复制:两个数据库进行互相复制;广播复制:由一个数据库向多个数据库复制;集中复制:由多个数据库向一个数据库复制;级联复制:由A数据库向B数据库复制,同时又由B数据库向C数据库进行复制。8 数据初始同步数据初始同步是数据复制的重要环节,只有当目标库中具备了必须的初始数据后,才能进行增量数据复制。R7-DIP支持多种数据初始同步方式,只要目标端数据库中有了基础数据就可以进行增量同步,无论采用哪种方式生成的。一般来说,常用的初始同步可以采用如下方式:(1)RMAN:通过备份恢复方式将生产库的数据备份恢复到目标库。(2)导入导出:可通过oracle工具EXP/IMP 或者expdp/impdp方式进行初始化(3)其他方式:例如通过insert/select方式进行的初始化R7-DIP与上述各种全同步方式都通过SCN点进行无缝衔接,在进行数据初始化时不需要业务中断。同时,R7-DIP产品还自带了数据初始同步功能模块:l 该功能采用数据库提供的标准接口进行数据导出、通过效率最高的直接路径装载进行导入,导出与导入过程并行执行,不需要生成大量的中间数据存储,节省空间。l 首次同步功能采用数据库提供的读一致性机制,通过SCN点的衔接,确保初始导出过程中的变化数据也能被准确复制,不会丢失数据,更无须申请停机时间。l 该功能经过精心的性能优化,采用多任务并发、数据读取优化等诸多技术造就了500GB/小时的速度(与服务器和存储的性能相关)。l 支持不同操作系统、不同存储系统、不同数据库版本之间的全同步;9 离线分析与DataGuardR7-DIP支持在线分析和离线分析。在线分析时通过网络直接连接到生产数据库进行分析,能够实时分析生产数据库的current log数据,确保复制的延迟为秒级,特别适合实时复制类业务需求。但是对于某些业务类型并需要这么高的实时性要求,比如用来进行数据仓库加工、ODS查询、日统计报表等。在这种情况下R7-DIP支持离线分析,通过文件传输工具将生产系统产生的archive log文件传输到第三台服务器上,R7-DIP通过第三台服务器进行分析。从而对生产系统零压力。目前阶段:R7-DIP要求第三台机器和生产库采用相同的OS平台。在ORACLE数据中,如果采用离线分析结构,建议可以与data guard技术融合在一起,通过DATA GUARD的传输方式将archive log传输到standby数据库上,R7-DIP可以从standby数据库上分析数据。同时STANDBY数据库可以作为很好的灾备系统。10 误操作与UNDO功能某客户的业务系统,在晚上升级操作时,工程师在删除一张临时表时,进行了误删除,将一张业务表drop table了。造成了业务中断。用户首先想到了ORACLE的回收站功能,可是drop table purge了,无法闪回。于是用户想到了通过磁带库备份数据恢复,可是发现备份中的备份集的目录库丢失了,也不能恢复。类似的误操作在数据库系统中是无法根本避免的,而用户一直认为有了备份就万无一失了,可是往往祸不单行,需要的时候备份系统也无法发挥作用,因为磁带备份系统时脱机备份,没人知道备份系统是否真的可以恢复。R7-dip平台为该方式提供了解决之道,通过事务级UNDO的功能可以将数据库,或者是table恢复到任何一个事务级别。R7-DIP在建设容灾系统时,将容灾系统上得SQL语句操作进行了UNDO记录,记录任何一次的变化,当用户发现误操作后,可以进行回滚,无论是做了drop table ,truncate table, insert,update,delete等都可以进行回滚。11 支持的操作类型1、DML操作复制支持(1)支持的DML操作类型 Insert; Update; Delete;(2)支持对Truncate Table操作复制(3)支持DIRECT PATH LOADING在Logging模式下批量装载数据的复制 sqlldr direct=y impdp insert into /*+ APPEND */(5)支持的DATA TYPES: CHAR DATE TIMESTAMP NUMBER LONG VARCHAR VARCHAR VARCHAR2 NCHAR NVARCHAR2 FLOAT LONG LONG RAW BLOB CLOB NCLOB ROWID UDT(6)支持的Table 类型 Table with partitions Table with chainedrows2、DDL操作复制支持Objects typeOperate type备注tablesCreate tableDrop tableTruncate tableRename tableAlter table:column_clauses:add_column_clausesmodify_column_clausesdrop_column_clauserename_column_clauseconstraint_clauses:ADD constraintsMODIFY constraintsDrop constraintsalter_table_partitioning:add_table_partitiondrop_table_partitiontruncate partition indexesCreateAlterDropviewsCreateAlterDropsequencesCreateAlterSelect nextvalTriggersCreate or replace triggerAlter triggerDrop triggerfunctionsCreateAlterDropproceduresCreateAlterDroppackagesCreate packageCreate package bodyAlter packageDrop packageDrop package bodyalter databaseAdd tablespaceAdd datafileuserCreate userAlter userDrop userGrantrevokeroleCreate roleAlter roleDrop roleGrant revokedirectoryCreate directoryDrop directoryprofileCreate profileAlter profileDrop profiledblinkCreate dblinkAlter dblinkDrop dblink12 基于web的操作界面简单易用,是R7-DIP追求的基本要求,因此从安装、配置、运维上都力求简洁。l 运行状态监控页面:l 进程监控页面:l 简单的配置页面13 众多的应用场景“凡是有数据库的地方都需要R7-DIP”。R7-DIP的应用场景包括了数据库应用系统的方方面面,从容灾备份、数据交互到数据库行为审计,无所不在。R7-DIP可以为所有使用数据库的系统带来收益,提高系统的稳定可靠性、提高数据的价值、促进数据的流通。R7-DIP可应用于如下领域:l 场景一:容灾备份:提供数据库系统的实时备份,提供基于SQL语句的实时数据备份,可实现在不同服务器类型之间、不同存储系统之间、不同数据库版本之间、广域网之间实现实时容灾备份。容灾备份的系统永远处于active状态,实现active-active的容灾架构,容灾中心可用作数据查询、报表、对外数据访问接口等。l 场景二:查询报表生产系统承担了繁杂的任务,将大数据量查询统计任务进行分开部署,是最佳的性能优化方案。通过R7-DIP产品可将生产系统的数据实时同步到另外的数据库上,在资源消耗性的查询和统计报表从生产系统迁移到查询中心,降低生产系统的资源占用。l 场景三:对外服务接口生产中心数据库是属于组织内部的,同时该系统又需要和大量的外部系统之间交互数据,因此将生产数据库中的数据实时同步到对外服务数据库上,通过改数据库提供外部数据服务,实现了对生产系统的隔离,确保生产系统的安全。l 场景四:应用重组,多中心并存将部署在一个数据库系统上得多个应用模块分开部署到两个或多个数据库系统上,实现业务的负载分担,而R7-DIP实现各个系统之间的数据交互,成为交互的桥梁。l 场景五:数据交互烟囱式的系统建设,使得企业内出现了大量的独立信息系统,他们之间形成了一个一个的信息孤岛,人们想尽了各种办法打破各系统之间的孤立,实现相互之间的数据交互,加速企业数据流通。l 场景六:数据集中与数据分发集团公司、政府部委、企业各分支机构,他们都再各个中心有独立的信息系统,如何实现这些系统之间的数据交互、如何为每个分支机构建立集中的灾备中心、如何实现各分支机构的快速数据访问?R7-DIP帮助您,可实现数据的实时集中以及数据的实时下发。l 场景七:ETL与BI实时BI,实时ETL是未来的发展趋势,如何实现传统ETL工具实时读取生产数据的变化,R7-DIP实现了生产数据库的变化跟踪,可将变化数据实时发送给ETL工具,实现实时ETL和实时BI。l 场景八:数据库行为审计谁在数据库上修改了数据?谁修改了数据结构?谁做了误操作导致业务中断?哪些表最繁忙?这些问题,R7DIP通过log的解析、然后对解析的结果进行分析统计,轻松帮助你回答以上问题。l 场景九:数据库迁移R7-DIP可实现在不同操作系统之间、不同存储之间、不同数据库版本之间、不同数据库类型之间进行数据复制,可帮助企业进行不停业务的实时系统升级迁移。14 主要性能参数指标l 数据时延:秒级l 数据传输格式:SQL语句l 单系统日最大处理log量: 700GB l 对生产系统的影响:5% l 传输介质:TCP/IP网络l 距离:无限制15 安装拓扑以一个典型的企业环境为例说明:无需在每个数据源和目标上安装agent,而是通过集中部署的一台R7-DIP SERVER通过TCP/IP网络进行数据捕获和装载。16 用户环境测试16.1 *公司功能测试本测试是为了验证R7-DIP数据库同步软件在满足*保险系统的数据复制需求上的满足程度,通过手工模拟的方式对我系统运维过程中经常需要用到的操作进行测试,一是加深对R7复制软件的了解,同时掌握同步软件是否能够满足业务需求。1、测试环境本次测试采用了模拟测试方式,搭建了一个模拟生产系统,通过编写各种脚本模拟业务操作,对同步软件进行测试。本次测试的环境是在2台虚拟机上进行,逻辑结构如下:2、测试项目和结果测试项目测试方法测试结果数据初始化(1)支持的初始化方法R7-DIP只需要目标库和源库数据一致即可进行运行可以采用以下几种方法进行初始化:(1)RMAN:通过备份恢复方式将生产库的数据备份恢复到目标库。(2)导入导出:可通过oracle工具EXP/IMP 或者expdp/impdp方式进行初始化(3)其他方式:例如通过insert/select方式进行的初始化(2)初始化和实时复制的衔接,是否需要业务中断R7-DIP通过SCN的衔接来实现初始化和实时数据的衔接。初始化同步不需业务中断普通表insertcreate table test_normal (id number(10),name varchar2(4000),birth date);alter table test_normal add constraint pk_test_normal primary key (id);truncate table test_normal;begin for I in 1. 1000 loop insert into test_normal (id,name,birth) values (I,aaaaaa|I,sysdate);end loop;commit;end;/复制成功普通表updateUpdate test_normal set name=name|sysdate;Commit;复制成功普通表deleteDelete from test_normal where rownum10;复制成功Chained row 表insertcreate table TEST_CR( ID NUMBER, F1 VARCHAR2(4000), F2 VARCHAR2(4000), F3 VARCHAR2(4000);truncate table test_cr;begin for i in 1. 500 loop insert into test_cr (id,f1,f3) values (i, rpad(i,2,b), rpad(i,2048,c); end loop; commit;end;/复制成功Chained row updateupdate test_cr set f1= rpad(id,1024,b);commit;复制成功Chained row deletedelete from test_cr where rownum10;commit;复制成功手工从pl/sql developer上修改数据Select * from test_cr for update;通过Plsql工具手工修改了id=12 f1字段为test.复制成功DDL测试create table test_ddl_1 (id number(10),name varchar2(4000),birth date);复制成功alter table test_ddl_1 add constraint pk_test_ddl_1 primary key (id);复制成功Alter table test_ddl_1 add (remark varchar2(1000);复制成功Alter table test_ddl_1 modify (remark varchar2(2000);复制成功Alter table test_ddl_1 drop column remark;复制成功Create index idx_test_normal_name on test_normal (name);复制成功CREATE OR REPLACE TYPE OB_AC01 AS OBJECT( ACNT_YM VARCHAR2(7), TAX_AREA VARCHAR2(1), ACCOUNT_CODE_4 VARCHAR2(1), ACCOUNT_CODE_56 VARCHAR2(2), PREMIUM NUMBER(14, 4), PREM_RESERVE_TAX NUMBER(14, 4), SURRENDER_SURPLUS NUMBER(14, 4), RI_PREM NUMBER(14, 4), RI_COMM NUMBER(14, 4), PREMIUM_CASH NUMBER(14, 4), STABLE_FUND NUMBER(14, 4), BUSINESS_TAX NUMBER(14, 4), STAMP_TAX NUMBER(14, 4), RI_MODE_PREM NUMBER(14, 4), CONSTRUCTOR FUNCTION OB_AC01 RETURN SELF AS RESULT)复制成功CREATE or replace PACKAGE bo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《幼儿教师招聘》考前冲刺测试卷附有答案详解含答案详解【a卷】
- 教师招聘之《幼儿教师招聘》考试彩蛋押题含答案详解(综合卷)
- 2025一建《水利水电工程管理与实务》考前十页纸(填空版)
- 教师招聘之《小学教师招聘》题库(得分题)打印附参考答案详解【a卷】
- 微某著名企业
- 教师招聘之《幼儿教师招聘》强化训练附参考答案详解(精练)
- 教师招聘之《幼儿教师招聘》强化训练题型汇编及完整答案详解一套
- 押题宝典教师招聘之《幼儿教师招聘》模考模拟试题含答案详解【培优a卷】
- 押题宝典教师招聘之《小学教师招聘》通关考试题库附答案详解(预热题)
- 教师招聘之《小学教师招聘》能力提升题库及答案详解【夺冠系列】
- 《年产量50万吨煤制乙二醇合成工段工艺设计》6400字(论文)
- 成都建材使用一网通系统-建材代理商操作手册
- 幼小衔接音乐课件
- 路基路面压实度评定自动计算表-标准-
- 积滞病中医护理方案
- 博物馆与社区合作模式-深度研究
- 猕猴桃工业流程
- 学习五线谱认识音名唱名课件
- 2025年江西司法警官职业学院高职单招数学历年(2016-2024)频考点试题含答案解析
- 2025年中国科学玩具未来发展趋势分析及投资规划建议研究报告
- 《腕骨骨折脱位》课件
评论
0/150
提交评论