在数据库国产化替代、同城/异地容灾、数据集中分发、实时数据仓库建设等场景中,异构数据同步早已成为企业 IT 架构的基础能力。然而,同步"跑起来"只是第一步,用户真正关心的是:源端与目标端的数据是否真的一致?出现差异后能否被及时发现并修复?这正是数据同步领域最核心、也最难解决的痛点。
金仓异构数据同步软件 Kingbase FlySync(简称 KFS)给出的答案是:把数据一致性校验与差异修复能力直接内置到同步产品中,与同步过程并行运行,覆盖存量搬迁与增量同步的全周期,并且整个过程无需中断业务、对源端影响极小。本文依据《Kingbase FlySync 技术白皮书 V3.7》,梳理 KFS 在"低侵入、高性能"架构、"全周期数据一致性校验"、"零"停机平滑迁移及行业实践方面的关键特性。
一、低侵入、高性能:一致性保障的架构底座
KFS 通过数据库物理日志解析技术,将增量数据从源端采集,依次完成解析、转换、过滤、封装,最终加载到目标端。整个过程由三个逻辑模块支撑:
采集。 采集模块直接访问数据库事务(REDO)日志进行实时解析,读取插入、更新、删除等操作结果。它只解析已提交的事务,自动忽略中间活动和回滚操作,既减少了基础架构负载,也从源头避免了潜在的数据不一致。
跟踪文件 KUFL。 KUFL(Kingbase Unified Format Log)是 KFS 将不同数据库抽取的操作信息以统一格式存储的中间文件,采用加密数据格式保存。数据被读取一次即移动到外部 KUFL 文件,无需在源库上创建额外的表或查询来支持采集,对源端系统的影响最小。当源端或目标端中断时,KUFL 保留到中断时刻的最新数据,系统恢复后即可继续加载。
加载。 加载模块从 KUFL 读取变更数据,转换为原生 SQL 应用到目标库,并严格按照事务在源端的提交顺序及事务环境加载,从而保证目标库的事务一致性和引用完整性。
在性能方面,KFS 日志解析可按业务需要并发启动多个线程,对多个日志同时解析;针对加载阶段通常滞后于采集的问题,加载环节同样采用多线程并行加速,实现高速实时同步。
在侵入性方面,KFS 不通过任何数据库引擎获取变更数据,而是通过安装 Agent 监控数据库日志、识别增量改变并传输给目的端,因此不会对生产系统造成性能影响,同时支持分离方式部署。业务在同步期间可平滑升级变更,无需停止对数据库的 DML 和 DDL 操作,同步程序也无需停止。
二、覆盖存量与增量:全周期的数据一致性
一致性不是某一个环节的事,KFS 从初始搬迁到持续增量同步的每个阶段都设计了对应保障。
存量阶段:不中断业务的初始搬迁。 KFS 可在不中断业务的情况下,对源库当前数据做快照,整体传输到目标系统加载,再对该过程中产生的增量数据进行解析和同步,一站式完成存量搬迁与增量实时同步,数据无丢失。搬迁完成后,KFS 还会统计并展现搬迁模式及表信息、源表数据条目数、搬迁结果状态、异常错误信息,便于用户复盘。对于搬迁中的错误,KFS 支持忽略错误继续搬迁,并将出错数据单独保存进行二次搬迁。
增量阶段:以事务为单位保证交易完整性。 在源端与目标端之间移动事务时,KUFL 文件记录并保持事务提交先后顺序和 ACID 属性;目标端严格按照相关原则和顺序加载,进行日志全流程连续性检查,并严格控制持久化 I/O 顺序。
故障阶段:断点续传与热备接管。 面对源端或目的端服务器故障、数据库故障、网络中断、同步程序故障等情况,KFS 单个实例可自动重启或重连,并从中断前的位置继续同步,避免数据重传,确保数据不丢失;当服务器故障时,多同步实例热备份与自动接管功能可让备份实例自动接续同步,全过程无需人工干预。
三、在线校验与全自动修复:构建"数据无忧"的信任感
这是 KFS 区别于一般同步工具的核心所在。KFS 产品内集成了数据一致性比对能力,可以与数据同步同时进行,直接比较不断变化中的数据库,而不要求停业务、停同步。
比对效率。 通过数据筛选过滤和数据抽样比对缩小比对范围;通过 MD5 摘要比对和多线程比对提升效率,轻松应对大数据量的比对。
灵活策略。 用户可按需启动比对任务,支持立即比对、定时一次性比对和按设置周期比对,展现两端数据库差异的详细数据信息或数据记录数统计,并在可视化界面灵活配置和查看。
及时告警。 一旦在校验中发现源端与目标端不一致,KFS 会自动通过邮件、短信、微信/钉钉告警等方式第一时间通知用户。
自动修复。 用户可以根据业务需要手动选择表内数据进行记录级修正,也可以交由 KFS 的全自动数据修复功能自动修复比对出的差异,真正实现无人值守、数据无忧。
命令行工具。 当系统环境不允许部署图形化工具时,KFS 提供命令行方式的数据一致性校验和修复工具,同样可以快速完成校验和修复任务。
配合统一的 Web 管控平台,用户还可以按同步链路、同步节点细粒度监控同步数据量、同步延迟、同步速率等关键指标,进行表级同步操作分析和性能耗时分析,初始搬迁与一致性比对修复功能也均可在平台上配置和查看。
四、"零"停机平滑迁移方案
在实际迁移场景中,如何在有限停机时间内平滑迁移 TB 级历史数据、同时不影响生产业务,是迁移的难点和痛点。金仓构建了一套完整的平滑迁移方案,无需对用户原有应用和生产库做任何调整,通常分为四步:
- 结构迁移:使用 KDMS 应用迁移评估工具完成从原数据库到目标数据库的结构迁移;
- 全量数据迁移:使用 KDTS 数据库迁移工具基于 SCN/LSN 快照完成全量数据迁移;
- 增量解析缓存:全量迁移启动的同时,KFS 从该 SCN/LSN 号之后开始解析新增业务数据产生的 Redo 日志,并将增量数据缓存在 KFS 节点本地,全量迁移时间不受限制,也无需停止应用;
- 增量追平切换:全量迁移完成后,启动 KFS 数据加载功能,将期间新产生的增量数据加载到目标库,直至两端 SCN/LSN 号完全追平,此时暂停应用、将 JDBC 驱动指向目标库并重启应用即可。
迁移完成后,KFS 内置的一致性校验能力可对迁移结果进行验证与差异修复,让"零"停机迁移的每一步都有据可查。
五、行业实践印证
双轨并行,稳步替代。 针对国产化新系统建设中用户对新平台稳定性、性能存疑,以及 IT 系统存在单点故障风险的场景,KFS 提供数据库双轨并行方案。第一阶段以 Oracle 原有系统为主库、KingbaseES 新建系统为备库,历史数据和增量实时同步到 KingbaseES,备库可对外分担查询业务;第二阶段在不改变拓扑的情况下将 KingbaseES 切换为主库、Oracle 作为备库反向同步,即便新系统故障,原系统也可迅速接管。待新系统各项能力充分验证后,再将原系统彻底下线。整个过程两端数据时刻保持一致,无需改动原有应用和生产库。
行业国产化替代。 KFS 支持 GIS 数据类型同步,与 Oracle、KingbaseES 等数据库配合形成 GIS 数据同步解决方案,满足水利、自然资源等行业的国产化替代需求。
多场景覆盖。 依托丰富的异构数据源支持------涵盖 Oracle、SQL Server、MySQL/MariaDB、DB2、Informix、KingbaseES、达梦、OceanBase、TDSQL 等主流数据库,以及 Kafka、RabbitMQ、RocketMQ 等消息队列,Greenplum、ClickHouse、华为 DWS、Hive、ElasticSearch、MongoDB 等分析与大数据平台------KFS 已广泛应用于"零"停机运营、灾难恢复与数据保护、数据集中与分发、实时数据仓库、双轨并行等企业场景。
结语
异构数据同步的价值,最终要落在"数据可信"上。KFS 以低侵入、高性能的日志解析架构为底座,以事务级完整性保障和断点续传、热备接管为托底,再叠加与同步并行运行的在线校验、多渠道告警和记录级自动修复能力,形成了覆盖存量与增量的全周期一致性闭环。对于正在推进容灾建设、数据平台整合或数据库国产化替代的企业而言,这套"同步即校验、差异即修复"的能力,正是从"能同步"走向"敢切换"的关键一步。