楔子

“飞雪连天射白鹿,笑书神侠倚碧鸳。”金庸先生的武侠世界里,总是上演着一幕幕刀光剑影与快意恩仇。是与非、恩与怨、爱与恨、情与愁,书尽千古风流。

太阳底下无新事。江湖,亦是如此,但江湖代有才人出

纵观当今武林,门派林立,互为敌手,争斗不休。其中Oracle乃数据市场的一方霸主。多年经营,其势力盘根错节,旗下高手林立,略有独孤求败之态。

今次,旗下大将Oracle Golden Gate(简称OGG),江湖人称“灭绝师太”,携Oracle门派之势,围攻国内数据同步市场的光明顶。OGG江湖成名多年,在数据同步领域斗重与山齐,依靠着早年打下的名气,加之背靠Oracle,行走江湖,世人都要给他三分薄面(因与Oracle关系紧密,与Oracle数据库配合时OGG优势极大)。在OGG眼中,光明顶已如囊中之物。

侠客Kingbase FlySync(简称KFS)自命金仓“张无忌”,少年自负凌云志,实乃国内数据同步产品之光,不甘光明顶失陷,初出茅庐,便赌上身为侠客的尊严,舍我其谁,主动邀战OGG。

OGG vs KFS,年轻的侠客是否有一战之力?

成名已久的前辈OGG手执倚天Oracle剑,剑法通神,一手Oracle剑法使得出神入化,剑出可以实时捕捉、变换和投递大量交易数据。四象掌、穿云飘雪掌和金顶绵掌更是厉害,掌力能够实现源数据库与目标数据库的数据同步。Oracle九阳功“佛光普照”之下,更是能保持亚秒级的数据延迟。

当然,年轻的侠客也不遑多让!

初露头角的侠客KFS曾在山中闭关修炼武当绝学太极拳剑、纵云梯等多年,太极拳剑能够高效连接各种异构数据源,实现这些数据源之间大规模增量数据的实时同步;纵云梯更能帮助用户打破数据孤岛,轻松共享分发数据,并确保用户数据不丢失。

光明顶之战,一触即发!

是Oracle“灭绝师太”OGG宝刀未老,还是金仓“张无忌”KFS后生可畏,胜利的天平到底会倾向哪一方?且听分解!

比武规则

为示公平,双方约定比武规则如下:

数据源:Oracle至Oracle

CPU:2.8GHZ,6C6T

内存:16GB

磁盘:512G SSD

网络:1000M

比武规则:双方提前约定比试场地(源端的测试数据,即测试模型),然后在场地中使出各自看家本领比斗(开启同步软件同步并计时,所有数据同步全部到目标端停止计时,计算耗时)。

根据耗时计算数据同步速度:同步速度(MB/S)=归档文件大小(MB)/同步耗时(S)

第一场

桃李春风一杯酒,江湖夜雨十年灯 | 小试牛刀

比试场地(测试模型):简单数据模型

KFS作为武林后辈向前辈讨教,为示对前辈的敬意,特选取了比武台(30G归档文件,5张表,每张表5列,每张表相互独立)这一简单数据模型作为首场比试场地。

OGG手执倚天Oracle剑,倚天剑乃当世神剑,无坚不摧,削铁如泥,配合OGG绝学Oracle剑法,不少武林好手未经一合,便被削断兵刃,斩于剑下。因此平素心高气傲,不把天下英雄放在眼里。

KFS取白虹剑迎战。比武台上,KFS先简单挽出一剑以作试探。OGG微觉诧异,道:“在这比武台方寸之地,还不马上拿出你的看家本领来。如此小看于我,怕不是立即将你斩于剑下。看招!”倚天Oracle剑微侧,第一招即抢攻,利用OGG源端超常的处理速度,竟不格挡对方来招,剑尖直刺KFS丹田要穴,出手之凌厉猛悍,直是匪夷所思。天下武功,唯快不破,OGG上来就使用了闻名天下的独门绝招灭剑和绝剑,这剑法速度奇快无比,攻如天神行法,蓦地里剑尖已指到了咽喉,根本不给KFS反应时间。KFS大惊,滑步相避,但OGG漂身上前,其剑势随之转向。KFS只觉颈间凉风飒然,心知不妙:“OGG源端实在太快了,我得想办法避其锋芒才是”,遂足尖一点,使用纵云梯斜飞出去。OGG紧随其后,连攻了八下快招,招招致命,KFS一一化解,但已失了先机。双方你来我往,剑光如花,好不热闹。

最终,OGG轻车熟路,靠着天时地利人和,毫无悬念成功赢得了第一局。KFS棋差一招,尚未使出看家本领便已落败。

围观众人不由叫道:“果然,姜还是老的辣,实际比试时,OGG出剑太快了(源端处理速度大幅超过KFS),剑法同样精妙(在简单数据模型测试环境下的性能也优于KFS)。KFS吃亏在缺少对敌的经验,试探着便失了先手。”

场外

KFS首战不敌后,痛定思痛,认真复盘推演,总结如下经验:

1.OGG的绝招并非毫无破绽,此招虽快,但却避实就虚,劲力不足。即OGG源端只做简单处理,更多的数据传输、解析和入库都在目标端处理。

2.OGG虽然在首战的测试模型下速度更快,但行走江湖,时常狭路相逢便刀剑相向,情况着实比简单数据模型比武场复杂多了,简单数据模型比武场不贴合实际的业务场景。而KFS自小在山野间复杂环境(以用户业务角度出发设计)修习武艺,而后独自闯荡江湖,在刀光剑影中摸爬滚打,更能适应复杂多变环境。

复盘总结之后,KFS继续修炼以锤炼自身,在闭关修炼七七49天之后,终练就九阳神功(并行流水线技术)之绝顶神功,九阳神功(并行流水线技术)为当世最高的内力心法,能够将数据同步过程中需要串行执行的一个大任务拆分为多个小任务,利用现代CPU的多核架构,使用多个线程并行运行小任务;比如日志文件的读取,二进制文件的翻译、事务的组装、数据转换等都可以作为小任务并行执行。类似工业生产线上的流水线一样,源源不断的将数据库的二进制日志翻译为目标端可执行的SQL语句

神功大成后,KFS重整旗鼓,再次对OGG发起挑战。

第二场

天下英雄出我辈,一入江湖岁月催|初露锋芒

比试场地(测试模型):复杂业务场景

为应对OGG快招,KFS此次挑战选取了业务场景更加复杂的野外原始山林(TPCC模型,100仓)比试场地,此处奇石嶙峋,峰峦叠嶂,山涧水流不息,更加符合实际的业务场景。

KFS取来一柄宝刀对战。对战开始,“请”字尚未落地,KFS便提刀在手施展轻功,如一溜烟般绕到了OGG身后,不待她回身,左一闪,右一趋,正转一圈,反转一圈,刷刷两刀砍出。OGG横剑一封,正要递剑出招,KFS早已转得不知去向。OGG虽欲抢攻,但无奈周围障碍物过多,OGG的快剑(源端处理)发挥不出其优势,而KFS修习九阳神功之后内力浑厚,使得原本的纵云梯等轻功身法也再上一个台阶,不近OGG周身五尺之内。一来一往,战线被KFS拖长,这一次攻守易势,OGG竟无一剑反击之机。只是KFS碍于倚天剑锋芒,不敢过分逼近。此时,考验的是双方的内力(端到端整体性能)情况。

最终KFS凭借九阳神功(并行流水线技术),并行执行日志文件的读取、二进制文件的翻译、事务的组装、数据转换等同步任务,快OGG一步,赢得胜利。

观战众人拍手叫绝:“果然是自古英雄出少年,KFS的内力(端到端整体性能)之强劲,实属罕见,九阳神功(并行流水线技术),真不愧为当世最高的内力心法,妙呀!妙!”

场外

一比一打成平手,来到赛点。

OGG认为对方取巧,同时自己过于轻敌,才导致首败,恼羞成怒,誓要夺回属于自己的荣耀。

双方约定再战以分胜负。

次战告捷的KFS不敢托大,决定再次闭关,修炼乾坤大挪移(大事务缓存解析机制)之神功,强化自身。

要知,寻常人练功,由于TPCC模型中有一个灌数的环节,600仓数据使用TPCC工具加载时,产生了超大事务。此类事务在内存中读取、解析、翻译的过程中,由于内存大小本身的限制,导致需要不断的读写swap空间。事务越大,swap的读写次数就越多,性能越差。

而KFS的乾坤大挪移(大事务缓存解析机制),能将未提交事务进行部分打包,每处理一批,就主动暂存到外部磁盘中,这样内存中只需要保留一批数据,极大的减少了内存的占用,同时避免了swap的反复读写。

练就乾坤大挪移(大事务缓存解析机制)后的KFS,已不是当初那个初出茅庐的年轻侠客......

第三场

提剑跨骑挥鬼雨,白骨如山鸟惊飞 | 终极一战

比试场地(测试模型):复杂业务场景

OGG自信于自身的实力,誓要在复杂环境下找回自己的尊严,于是双方约定继续在野外原始山林(TPCC模型,600仓,96G数据)的复杂场景之下决一死战。

时过境迁,形势正悄悄发生着变化,此时的KFS在经历两战后,不知不觉便已冲破九阳神功(并行流水线技术)最后一关,神功大成。要知天下诸般内功,皆不逾九阳神功之藩篱,而乾坤大挪移(大事务缓存解析机制)运劲使力的法门,又是集一切武功之大成,一法通,万法通。此时,任何武功在KFS面前都已无奥秘之可言。武当绝学的太极拳剑和纵云梯,九阳神功,再加上乾坤大挪移,三者渐渐融为一体,使得KFS耐力(长时间的性能表现)和定力(稳定性)更上一层楼。

此战双方都拿出全部的实力来应对,对战开始,KFS和OGG一起抢攻。刀剑相向,在KFS运足内力之下,这一刀强劲之极,劲力将OGG震得手腕发麻。KFS不做停留继续出刀,刀刀强劲,OGG脸色如霜只得与KFS对刀,比到后来,OGG右臂大是酸痛,当即换手。OGG左手使剑的本事与右手无甚分别,但见空中刀光剑影、火光四射。围观众人纷纷后退。

谁坚持到最后,谁就能赢得比赛。双方大战九九81个回合,历时5个小时(测试耗时),打的天昏地暗,鬼哭神嚎。最终KFS趁OGG不备,抢身向前,右手前探,挥手拍出。OGG欲举剑削其手腕,KFS变拍为拿,反手一勾,已将OGG的倚天剑轻轻巧巧的夺了过来。这般刹那间的变化,已属乾坤大挪移(大事务缓存解析机制)运劲使力的法门。OGG武功虽高,但也难以拆解KFS转折轻柔的擒拿。最终,KFS凭借稳定的性能,包罗万有的产品能力,拿下了终局,赢得终极一战的胜利!


鸿图霸业谈笑间,不胜人生一场醉 | 落幕

是非恩怨转头空,爱恨情仇谁无有,波澜壮阔的江湖风云,暂时落幕。

但谈及数据同步,KFS已成为众人眼中无可忽视的能手,并悄然爬上江湖百晓生的英雄榜。

作为一个在市场上刚刚崭露头角的新锐,KFS将继续深藏功与名,如琢如磨打磨自身。内修性能、外练定力,继续修炼九阳神功(并行流水线技术)、乾坤大挪移(大事务缓存解析机制)等专有技术保证端到端的事务级数据的完整性和高可用性。同时,针对性地为用户提供数据比对整体技术方案数据全自动修复技术事务级数据完整性一体化解决方案双轨并行解决方案数据库不停机迁移方案、广域网同步优化解决方案等数据同步领域相关的解决方案,为用户宝贵的数据资产保驾护航。

光明顶之战 | 对决实时数据同步软件性能之巅相关推荐

  1. ubuntun系统mysql数据库同步_Canal 实现 Mysql数据库实时数据同步

    简介 1.1 canal介绍 ​ Canal是一个基于MySQL二进制日志的高性能数据同步系统.Canal广泛用于阿里巴巴集团(包括https://www.taobao.com),以提供可靠的低延迟增 ...

  2. ​inotify+rsync实时数据同步实践讲解17

    inotify+rsync实时数据同步实践讲解17说明:本文来自来自北京老男孩linux运维实战培训中心-运维就业课程免费视频内容,本文内容为系列内容,更多分享信息见:http://oldboy.bl ...

  3. 使用MRS CDL实现实时数据同步的极致性能

    摘要:MRS CDL旨在实现最大的数据复制吞吐量和低复制延迟. 本文分享自华为云社区<使用MRS CDL实现实时数据同步的极致性能>,作者:大数据修行者 . MRS CDL提供从多个RDB ...

  4. 基于数据库数据增量同步_基于 Flink SQL CDC 的实时数据同步方案

    简介:Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的 ...

  5. Canal 实现 Mysql数据库实时数据同步

    简介 1.1 canal介绍 Canal是一个基于MySQL二进制日志的高性能数据同步系统.Canal广泛用于阿里巴巴集团(包括https://www.taobao.com),以提供可靠的低延迟增量数 ...

  6. 基于debezium实时数据同步(Oracle为主)

    基于debezium实时数据同步 全部需要下载的内容链接 1.下载zookeeper-3.4.10 2.下载kafka_2.13-2.8.0 3.下载Kafka Connector:建议使用1.6以上 ...

  7. 数仓实时数据同步 debezium

    数仓实时数据同步 debezium 背景 debezium 简介 架构 基本概念 例子 Router 目前遇到的问题 背景 数据湖将源库的数据同步到hive数仓ods层,或直接在kafka中用于后面计 ...

  8. MySQL 到 MongoDB 实时数据同步实操分享

    MySQL数据怎么实时同步到 MongoDB 实践分享系列 摘要:很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同 ...

  9. cdc工具 postgresql_基于 Flink SQL CDC 的实时数据同步方案

    作者:伍翀 (云邪) 整理:陈政羽(Flink 社区志愿者) Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink P ...

最新文章

  1. 图解Windows下开发Objective-C程序之二 - Objective-C入门例子
  2. 形容人的内核是什么意思_成语雪泥鸿爪是形容什么的?雪泥鸿爪什么意思?蚂蚁庄园2020年12月10日答案...
  3. 避免在 ASP.NET Core 3.0 中为启动类注入服务
  4. CF1245D Shichikuji and Power Grid
  5. android6.0系统Healthd深入分析
  6. ansys--workbench(导入solidworks)受力分析
  7. 虚拟现实竞争企业分析
  8. 三菱plc pwm指令_【三菱PLC指令教程】步进指令STL和RET(单序列状态转移图编程)
  9. java 视频分辨率_javaCV开发详解之15:视频帧像素格式转换
  10. phonopy制作shengBTE的FORCE_CONSTANTS_2ND
  11. Android广告SDK的Package
  12. 【数据结构与算法】动态规划
  13. VC:CString.Format()函数详解
  14. DOS命令CD D:\ 不管用,怎么进入D盘
  15. IPFS星际文件系统(中文白皮书)
  16. laravel物流地址查询
  17. bugku 0和1的故事 用Excel完成
  18. Anaconda4.10.3安装
  19. python+PIL批量制作淘宝主图(头图)及满屏水印添加
  20. 浏览器出现无法访问该页面/无法连接服务器/服务器拒绝连接/XXX已拒绝连接,同时QQ微信可以登录发信息。

热门文章

  1. HDMI 延长器芯片
  2. Objective-C与C++的不同与相同
  3. 36条微信公众账号运营的心得总结
  4. 03《需求模式——软件建模与分析》
  5. details和summary元素的使用
  6. 半小时学会Android软件版本更新
  7. 2008年的一个严肃的笑话
  8. [转]LTE资源调度(7)-DRX不连续接收(1)
  9. 13、基于51单片机防火防盗烟雾温度人体红外感应检测设计(程序+原理图+PCB图+Proteus仿真+参考论文+开题报告+元器件清单等)
  10. Ubuntu源(apt)更换网络源