词条 | oracle数据同步 |
释义 | 概念数据库同步就是将数据从源数据库的变化数据在尽可能短的时间内复制到目的数据库。 同步的数据传输的特点有 : 1) 同步讲究数据传输的时效性, 要求对于数据的变化要快速反应。 2) 同步的数据通常是少量的。 背景在数据库同步技术出现之前,只能通过备份和恢复来复制一个新的数据库。 但是这个方法有比较大的问题: 1) 备份和恢复数据库需要很长的时间 2)恢复后的数据和源库没有办法保持一致, 源库修改后,需要再次备份/恢复, 这样目的库才能得到新数据。 目的企业的大量宝贵数据都存储在数据库中。但是目前大量的企业应用系统中在线的数据库通常就只有一份,如果这一个运行中的数据库出问题了,结果可能就是灾难性的。 为了保证数据库的可靠运行,目前采用的通常是HA+备份。 备份是保留了额外的数据,但是问题是数据不是最新的,通常是会丢失至少一天的数据。 HA通常的作用是保证数据库服务库有2台以上,来减少系统当机的可能性,但是不能解决ONLINE数据只有一份的问题。 因此,希望能够得到另外一个ONLINE数据库的渴望推动了数据库同步技术的发展。 同步内容针对于具体的数据库 - ORACLE,同步的数据可以分为两大类: 1) DML数据 --- 这些是数据操控指令。 包含INSERT/UPDATE/DELETE语句。 2) DDL数据 --- 这些是数据描述指令。 这个就非常的复杂,常用的有TABLE/INDEX的相关语句。 同步技术无论国内国外, 目前数据同步的基本技术流程就是: 1)读取源数据的重做日志 - REDOLOG, 2)然后分析出SQL语句 3) 然后到目的库执行 产品国外产品QUEST 的shareplex: 这个公司还开发TOAD,这个SHAREPLEX没有TOAD使用广泛。 Oracle的GoldenGate : 原来是独立开发的, 后来被ORACLE 用一亿美金收购, 现在由ORACLE力推。 国内产品沃信科技的PORER ACTIVE CLONE(PAC): 由深圳沃信科技独立开发。 产品考量要点数据库同步的概念并不复杂, 但是实际产品部署的过程中非常的复杂。 因此,对于产品供应商的产品需要进行仔细的考量。 稳定行/性能/兼容性? 那个最重要的呢? 最重要的是兼容性! 为什么呢。 数据库同步的其实是交易。 交易有ACID的特性。 交易的ACID特性原来是数据库上的, 现在加入了同步软件,那么这些特性也需要在同步软件上体现。 具体的问题如下: 1)如果源库的日志文件没有办法读取, 同步如何解决? 2)如果同步软件因各种原因退出, 如何解决? 3)如果目的库无法连接, 如何解决? 4)如果网络突然中断, 如何保证同步的交易完整性? 5)如果主库和备库的物理存储结构不一致, 如何解决DDL复制的问题? ... 应用案例海上的FPOS(单点系泊船)运行了基于ORACLE 的ERP, 基地上为FPOS服务的部门运行另外的同版本ERP, 海上系统中的工单(WORK ORDER)需要通过卫星线路(带宽3K)传输到基地, 基地上的采购单(PURCHASE ORDER)需要传输到海上。 为了实现工单和采购单在两个ONLINE数据库之间的传输, 就需要用到数据库同步技术来完成。 这个应用的要点就是要解决不稳定网络, 低带宽, 数据的双向传输问题。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。