不绑数据库,不绑平台,OGG抽取 和 XStream 能干的活儿它都能干
不绑数据库,不绑平台,OGG抽取 和 XStream 能干的活儿它都能干
先交代一下背景。
我们团队在数据库事务日志解析这个领域摸爬滚打了好几年。说白了就是 CDC(Change Data Capture)最底层的那层脏活累活——把数据库的 redo log 啃下来,解析成业务能理解的数据变更事件。
踩了无数坑之后,我们看清了一个问题:
国内在事务日志解析这个底层领域,长期被国外厂商把持,几乎没有能打的国产组件。
于是我们决定自己写。
从二进制日志解析层开始,一行一行码,搞出了 TLA(Transaction Log Analysis)——一个完全国产、纯自研的事务日志解析组件。
01 / TLA 是什么?
它的核心能力其实一句话就能说清楚:
直接读取数据库事务日志,解析出数据变更,以组件形态提供给上层使用。
- DML 能抓,DDL 也能抓
- 秒级延迟
- 对源库几乎没有影响
但重点不在这些能力本身——重点在于它的形态。
TLA 是一个 组件,不是产品。
产品和组件的区别在于:
产品:给你什么功能,你就用什么功能。想改?找厂商排期。
组件:像积木一样,可以嵌入任何平台、任何软件、任何系统。按需组合,按需定制。
而且 TLA 是 纯国产自研。
日志读取、块解析、事务还原……全部自己写的。不套壳 LogMiner,不依赖任何国外商业软件,没有任何授权限制。
02 / TLA 能用在哪儿?
因为它是组件,所以能去的地方非常宽。
数据中台 & 数据平台
现在各行各业都在建数据中台,最大的痛点之一就是数据源五花八门。Oracle、MySQL、PG、国产数据库混着用,每个库的日志格式都不一样。
TLA 可以作为数据中台采集层的统一日志解析组件,把不同数据库的变更数据实时抽出来,统一汇入中台。
目前 Oracle 版本已跑通,MySQL、PG 和主流国产数据库的支持正在推进中。
ETL 工具 & 数据集成软件
传统 ETL 做增量同步,要么靠时间戳字段、要么靠触发器、要么靠全量比对。
——有延迟。
——对源库有侵入。
——性能差。
TLA 可以作为 ETL 工具的 CDC 插件 嵌入进去,让 ETL 直接从日志层面拿数据变更。实时性、性能、侵入性,全面改善。
国内做 ETL 和数据集成厂商,完全可以拿 TLA 替代 OGG 的抽取部分。
实时数据分发 & 消息中间件
有些场景需要把数据库变更实时推送到 Kafka、RocketMQ 里,让下游流计算、实时数仓去消费。
TLA 可以作为一个轻量级日志解析引擎嵌入到这个链路里,解析出来的变更事件直接往消息队列里扔。
灾备 & 双活数据中心
两地三中心、同城双活,核心就是数据实时复制。
传统方案用 OGG,成本高、国产化支持弱。
TLA 可以嵌入灾备方案作为日志抽取组件,实现异地实时数据同步。
备库直接解析这个能力我们也有——不用连主库,直接去备库读日志,对生产零影响。
数据库迁移 & 国产化替代
信创推进过程中,大量 Oracle 业务系统要迁移到国产数据库。
全量迁移好做,增量同步是难点——迁移过程中新产生的数据怎么实时同步过去?
TLA 可以嵌入迁移工具,作为增量同步引擎,保证迁移过程业务不中断。
数据湖 & 实时数仓
数据湖、实时数仓的建设,底层都需要一个稳定的 CDC 管道。
TLA 作为日志解析组件,可以把这个管道建得又快又稳,数据延迟控制在秒级。
03 / 哪些行业在用?
技术场景落下去,覆盖的行业其实挺广的。
🏦 金融
银行、证券、保险的核心系统绝大多数跑在 Oracle 上。信创政策要求逐步替代,TLA 作为国产组件,在迁移、灾备、数据集成这些环节都能发挥作用。
🏛️ 政务 & 公共服务
各级政府的数据共享平台、一网通办等系统,背后是大量异构数据库的数据流转。TLA 作为数据集成底座的组件,可以解决跨库实时同步的问题。
🏭 制造业 & 工业互联网
产线数据、设备数据、ERP 数据分散在不同系统里。TLA 可以实时把这些数据汇到一起,支撑实时监控和预测性维护。
🏥 医疗
HIS 系统、电子病历对数据一致性和实时性要求高,双活数据中心和异地容灾方案里都能用到 TLA。
☁️ 能源 · 交通 · 运营商
但凡有数据库、有数据实时流转需求的地方,TLA 都能作为一个底层组件嵌入进去。
04 / 简单说一下 OGG 和 XStream
圈里人都知道,OGG 的抽取进程和 XStream 的日志捕获能力——强是真强,贵也是真贵,而且还绑死在 Oracle 生态里。
TLA 在功能层面 完全平替这两个东西:
- OGG 抽取能干的活,TLA 能干
- XStream 能抓的数据,TLA 能抓
- XStream 抓不了的(ROWID、BFILE、嵌套表、虚拟列……),TLA 也能抓
区别在于:
OGG & XStream = Oracle 的东西。买授权、受制于版本策略、底层改不了。
TLA = 国产组件。源码在手,随便定制。
价格就不具体说了,反正比 OGG 便宜得不是一星半点。
05 / 为什么说它是“国内首个组件化”?
市面上做 CDC 的不少:
- 开源的有 Canal、Debezium
- 商用的有各大数据平台自带的采集模块
但符合以下三个条件的,TLA 确实是第一个:
- 独立组件形态 —— 可以嵌入任意第三方平台和软件
- 能力对标 OGG 抽取 + XStream —— 功能层面完全不输
- 纯国产自研 —— 不套壳、不依赖、不受制
组件化的意义在于:
你不用为了用某个功能,去换掉整个平台。
数据中台还是那个数据中台,ETL 工具还是那个 ETL 工具,灾备方案还是那个灾备方案——只需要在需要日志解析的地方,把 TLA 这个组件嵌进去就行。
这种灵活度,是绑定在某个特定平台里的采集模块做不到的,也是 OGG 那种重量级产品给不了的。
写在最后
TLA 不是国外大厂的套壳产品,是国内团队从底层一行一行写出来的国产组件。
目前 Oracle 版本已经跑得很稳了。后续 MySQL、PostgreSQL 和几款主流国产数据库的支持也在推进中。
组件形态决定了它的扩展路径很宽——每支持一种新数据库,就意味着又有一大片场景可以用上它。
如果你是做数据平台的、做 ETL 工具的、做灾备方案的、做数据中台的,或者正在为国产化替代找 CDC 方案——
TLA 提供了一个组件化、纯国产、可定制的选择。
欢迎交流。
补充:文中提到的技术对比和测试数据均来自实际测试,感兴趣的朋友可以按同样条件自行验证。

浙公网安备 33010602011771号