【goldengate】售前了解篇

 一直想写一些数据复制软件的文章来记录我从业于该行业的点点滴滴,也是一直借口没时间一篇也没写成,换了行业换了新公司了每天有大把大把的时间让我挥霍,闲的闹心,也是为了给自己找点事情做,就从入门开始重新学习代表软件 goldengate
Goldengate 1995 年成立于旧金山, 2009 年被 oracle 公司收购,之后大力在全球推广,目前国内高端行业已逐渐采用 goldengate 来做部分解决方案。 goldengate 本身是一种数据实时复制软件,可持续实时的将数据从一个数据库复制到另一个或多个数据库,供不同需求应用。
官方在这里提到两个词, real-time access,real-time information goldengate 在数据复制的同时可以保证源端及目标端得数据的随时访问可用,而数据复制的速度官方更是称可以达到压秒级,当然我们的环境是测不出压秒级的, oracle 宣传 goldengate 策略就如同当初宣传自己,先将噱头抛出,之后再完善再满足。
 
Transactional data management goledengate 提出的一个名词,交易数据管理。 Goldengate 用于交易数据管理的特点为 :
1.           实时性:复制数据过程中速度为压秒级,低延迟。由于抓取 redo 或归档的信息并且在传输过程中有压缩操作,所以传输量相对是较小的。
2.           支持异构:可以跨不同数据库、不同 os 、不同硬件进行数据复制,异构的支持使 goldengate 在行业中应用的更广泛更灵活。这是 goldengate 重要的一个优势,同类数据复制软件可以支持异构 os 异构硬件,但数据库只支持 oracle 数据。
3.           交易完整性: goldengate 有事物为单位复制数据,保证源端与目标端数据读一致。 Goldengate 架构在一定程度上可以抵御意外中断,如源端宕机可以启用目标端数据库, goldengate 方向复制功能使灾后恢复更容易。
 
 
        Goldengate 数据复制过程中分为 5 个模块, capture 工作为按事物抓取 redolog/ 归档日志的信息,之后 goldengate 一种模式是直接将抓取的信息通过 route 传输到目标端一文件形式放入目标端的 trail 中,然后通过 delivery 模块将 trail 中的文件抓取出复制到目标端数据库;另一种模式也是比较常用的模式即图中, capture 抓取日志以文件形式放入本地的 trail 中,再由 pump 模块将 trail 中文件抓取出可用信息再通过 route 传输到目标端得 trail 中,再由 delivery 模块将数据复制入目标端数据库。这种的好处是,如果在传输过程中网络中断,第一种模式 capture 抓取出的放在缓存中的信息就会丢失,而如果将抓取的信息放入本地一份再传输,这样就有效保证数据的完整性,但同时性能就会有所下降。
     在 capture 的过程中可以添加一些过滤信息,将自己定义想要的信息抓取出来比如某张表某个用户的信息,同时也可以开辟多个 capture 模块,将数据分别复制到多个目标端,以模块化的开发灵活性很强。
 
    图中为 goldengate 的常用架构,模块化得设计使得 goldengate 灵活搭建多种架构。
    一对一模式一般用于分担主交易负载和零宕机数据迁移,一般主交易系统同时读写的负载是很高的, goldengate 通过搭建另一个数据完全一致的数据库只用于数据查询,从而缓解主交易数据压力。数据迁移是 dba 工作量很大的一个工作,在平台一致的并允许停机情况下可以用 oracle 的工具来迁移,但在异构的情况下迁移将会一件很麻烦的事。 Goldengate 在迁移的过程中是不用停机的,并且支持异构,可做到无缝迁移,这种情况下用 goldengate 做还是很不错的,但是同步大数据量是否能保证速度与性能,有待测试。
    双向复制模式是最为普遍的模式,也是容灾行业的新宠,可用于做热备,做双活。容灾用 goldengate 在本地或异地做一个或多个数据库与主交易系统数据库数据完全一致的数据库,若主交易系统意外宕机,其他数据库可立即启用,很大程度上避免了单点故障,灾后重建主交易系统时,开启反向同步就恢复了主交易系统。
    广播模式用于数据分发,也可以同样用于容灾中比较常见的是证券行业来做两地三中心,即通过复制软件在本地建一个查询分析备库,在异地建一个容灾库。另一个用法是在数据同步的过程中选择性的同步,根据业务系统功能不同的功能的数据同步到不同功能的业务系统中,方便数据的拆离。
    数据集中模式也是很常见的一种架构,将多数据库的数据集中到同一个数据库中而建立一个数据仓库,如某省的警综平台系统就需要将其区县的信息集中收集处理。
    基于消息的数据分发一般与 JMS 这类消息服务结合起来分发到其他系统中。
 
    该图为我上述内容的总结,列出 goldengate 在行业中应用的几个方向,当然其他三款数据实时复制软件也是应用于这几个方向,很多终端用户考虑到性价比还是会选择其他产品的。
 
    上图为 goldengate 所支持的平台列表,对数据库而言 goldengate 支持的相当广泛的,这是其他数据同步软件所缺陷的,表中 capture 模块没有列出 mysql, 之前 capture 是不支持 mysql 的,只 delivery 模块支持,新版本 5.1capture 也可以支持。
         oracle 在一些大会上以宣布 goldengate 是他们的战略性产品, oracle stream 现已不再开发,将一些 stream 的技术要融于 goldengate, 并且 oracle 11GR2 已出现 goldengate 的部分对象。
 
    以上为 goldengate 产品 license list price非折扣价, oracle 一样是按 cpu 或并发用户卖的,很多用户因为它不便宜望而却步选择其他产品。这里介绍一下 veridata 这个产品,该产品是 goldengate 的一个对比数据的工具,往往用 goldengate 同步完数据不知道源端与目标端是否数据一致,用这个工具就可以进行对比,从逻辑上说这个 veridata goldengate 是密不可分的,只是一个小工具价钱却是 goldengate 的近两倍, oracle 的定价策略还是很强悍的。 Managerment pack fo goldengate goldengate 的一个管理工具,可以提供 web 界面来管理 goldengate 架构中的所有节点。
 

本文出自 “I say” 博客,转载请与作者联系!

你可能感兴趣的:(职场,休闲,goldengate,容灾)