MySQL有阿里巴巴开源的Canal作为数据变化订阅工具,而Oracle作为最复杂的商业数据库,目前还没有比较好的数据变化订阅工具。
对oracle变更数据捕获一直是业界苦恼:
有没有一个免费的、企业级Oracle日志解析器,通过极简的产品设计,让你1分钟搞定Oracle的日志解析工作呢?
高性能Oracle日志解析订阅工具 【 QDecoder 】
在 docker hub 和 github
对外免费正式发布
QDecoder是沃趣科技自主研发,基于Oracle redo日志进行二进制解析工具,解析的结果以canal的protobuf的形式直接写入到kafka或者socket。
目前,QDecoder已经在多家证券和银行上线使用,稳定运行,得到诸多客户的肯定与认可。
沃趣科技一直提倡与合作伙伴共同探索数据库生态技术边界,用技术帮助业务产生更有价值的服务体验。感谢伙伴们长久以来的信任与支持,我们十分乐意与大家分享沃趣自主研发的Oracle日志解析器——QDecoder,并作为元宵暖心大礼包倾情奉上,免费开放领取,功能与企业版保持一致。
QDecoder产品架构
生态与易集成性
QDecoder启动后,通过IP/PORT连接Oracle数据库,持续不断地获取在线日志,将DDL和insert、update、delete变化实时写入kafka。传输到kafka的Topic数据可以由您的应用程序或者Flink/Spark流数据处理程序通过kafka connector获取,并调用protobuf的java包反解析出DML和DDL变化事件,就可以驱动和触发下游大数据和AI的流式处理。
- 【源端增强】QDecoder可以在现有的Debezium/CloudCanal/Confluent的数据源数据订阅端基础上增加Oracle实时数据流
- 【目标端订阅】在原有的流式数据处理上添加oracle的动态DML和DDL变化事务信息,以Flink/Spark为例,你只需要通过kafka的connector获取指定Topic的数据,并通过protobuf自动生成的java包反解析就可以嵌入原有的业务逻辑
- 【格式不变】QDecoder采用跟阿里巴巴mysql日志同步工具Canal同样的protocol协议输出格式
注:Java/C 语言获取kafka topic的数据展示的实例代码参考QDecoder github页面
产品能力
你的Oracle使用再怎么风骚,QDecoder也能解析。版本支持:
- Oracle10g,11g,12c~19c
- Oracle单机和RAC集群
- Linux类小端系统(Little-endian)和AIX小机大端系统(Big-endian)
- 行链接、行迁移;insert append;支持压缩表;支持部分回滚;支持多块undo等Oracle高级特性解析
- number、varchar2、BLOB、Datatime、NVARCHAR、Float等字符串类型,数字类型,日期类型,LOB类型在内的绝大多数Oracle常见字段解析
- 指定表的DML和DDL的数据增量同步
- Oracle连接池连接源库
- 持续时间超过2天以上的长事务解析
- 数据直接流入kafka,支持socket方式推送日志变更
- 支持日志存储在ASM中;在线或者归档日志如果存储在本地文件系统的话,需要单独在Oracle源端上部署parser组件。
- 极简安装体验 -
QDecoder配置安装只需要一条命令:
docker run -it --name=qdecoder -p 9191:9191 -p 9092:9092 --pull always registry.cn-hangzhou.aliyuncs.com/woqutech/qdecoder
服务器断电重启后,只需要docker start qdecoder再次启动,QDecoder就能断点续传,从上次的位点继续同步数据。
- 优质性能 -
QDecoder单节点日志解析量约为120MB/s,RAC双节点日志解析量为200MB/s
- 产品定位 -
相比OGG等其他数据同步软件:
- QDecoder社区版免费
- QDecoder支持定制化开发
- 对接大数据平台简洁方便
相比Logminer:
- QDecoder支持断点续传,可以实时同步数据变化。Logminer每次只能获取一整个日志的数据变化,不支持实时同步
- QDecoder日志不需要写入到alert.log,避免污染错误日志
支持和服务
- 最终用户或者合作伙伴需要将其用于生产环境,建议购买订阅服务
- 需要根据自己的需求进行适配开发,请购买定制开发服务