来源:市场资讯
(来源:twt企业IT社区)
导读
在传统数据库迁移的过渡期,如何设计“双写”、“灰度切换”等同步方案,保障业务连续性与数据一致性?灰度切换过程中,如何按业务维度逐步切流并保证实时回退能力?本文来自金融行业同行专家,其实践经验值得参考借鉴。
【分享一】董生 某金融机构 数据架构师
双写确实是系统迁移过程中不能停机的数据库迁移的选择方案。但是双写并不是简单的写数据库,是有很多前置的约束。
1、双写是一个逻辑简称的概念,更加精确的说法是交易双做。所以双写的前提是需要保障迁移后的应用服务是经过充分的验证,并能保证逻辑及控制与原服务一致。例如可以考虑建设核验对比服务,核验每一只双写交易的响应结果是否经过转换后一致,并抽取变更的数据,进行核对校验,若一致则表明具备双写的最基本的要求。
2、双写的流量控制,这个时候需要选择业务系统的一个最小单元,进行流量控制。当业务流量进来时候,判断词最小单元是否设置为迁移的单元,当时设置了以下几个状态,1)原数据库为准:则先在迁移前的数据库上做交易,然后再将结果写到消息队列中,迁移后的应用读取此消息队列,将交易请求报文读取出来后,在迁移后的数据库上重做应用。 2)只保留迁移后的新数据库数据:应用只向迁移后的数据库上做交易,原数据库不再跟做交易。
3、迁移切换:先全量数据导出铺底,然后不断地缩小增量的时间以文本方式迁移数据。最后将待迁移的数据压缩到小时内的级别。 然后将所有的数据设置为原数据库为准,完成最后的增量数据迁移,达到两边数据完全一致。迁移完成后,将一份数据设置为只保留迁移后的新数据库数据 ,验证在全量数据的情况下新系统运行的情况。经过不断地放大样本数据后,将所有的数据设置为只保留迁移后的新数据库数据,关闭老系统的写入服务,关闭双写,完成迁移。
4、整个难度就在于,双写的过程中交易如果一边出现了失败,需要实时有对账机制,实时核对数据是否一致,不一致需要实时修正。另外就是此验证机制非常依赖测试,需要各个场景都能考虑到。对于没有考虑到的场景引发的问题,需要有应对措施。另外还需要考虑的是,是否要增加原应用的兜底功能,如果在测试不是那么充分的情况下,建议建设反向同步机制,用于应用快速回切。
【分享二】 颜龙 某证券 DBA
我结合证券行业对业务连续性、数据一致性、监管合规性的严苛要求,以公司核心互联网业务(统一用户登录系统 )为例,分享从传统商业SQL Server数据库迁移至 GaussDB(for openGauss集中式) 的过渡期方案设计与实践经验。该系统处于关键业务链路核心节点,服务全量互联网用户,一旦中断或数据异常,将直接影响账户登录、身份校验、业务办理等全渠道前端服务,对可用性与数据准确性要求极高。
在迁移过渡期,我们摒弃了依赖第三方工具的异构数据库实时同步方案, 采用业务层可控双写模式实现 SQL Server 与 GaussDB 数据并轨 ,核心基于两点考量:一是证券行业对数据可靠性要求极高,现阶段通用异构数据库同步工具在事务一致性、异常重试、断点续传等机制上仍存在稳定性风险,难以完全满足核心系统零丢失、强一致的要求;二是业务层定制化双写可精准控制关键数据写入逻辑,针对用户身份、登录状态、权限信息等核心字段做强校验与事务保障,异常可追溯、可干预、可回滚,可控性远高于底层数据同步工具。
具体实施上,通过在业务服务层统一封装数据写入入口,对用户新增、信息变更、状态更新等核心操作同时写入原库与新库,并增加写入结果比对、失败重试、单边写入回滚等机制,确保过渡期两套数据库数据基准一致,业务可在两者间灵活切换。
在落地过程中,我们也同步沉淀了对该方案的深度思考与风险认知:一方面,业务双写会显著增加代码逻辑复杂度,需额外处理写入时序、一致性校验、异常兜底等逻辑,长期并行运行会带来潜在的代码维护风险与运行时隐患,因此仅将其定位为过渡阶段临时方案,严格设定并轨周期,完成全量验证后及时下线双写逻辑,避免长期驻留;另一方面,证券行业需常态化开展灾备切换演练、监管通关测试、全链路压测等合规性验证工作,双写并轨模式下两套数据库同时承载业务与数据,使得备份策略、恢复链路、切换验证、数据对账等方案成倍复杂,需针对性制定差异化备份恢复机制与联合验证流程,对运维与测试体系提出更高要求。
整体而言,核心系统数据库迁移过渡期, 业务层可控双写配合逐步灰度切换 ,是兼顾业务连续性与数据一致性的稳妥选择;但需严格控制过渡周期,同步完善测试、灾备、对账体系,在满足业务稳定运行的同时,适配证券行业监管与合规要求。以上是一些个人经验,仅供同行参考。
同行补充:
陈耀斌 金融行业 DBA:是一份非常具有含金量的证券行业实践经验。其亮点在于:不盲从工具,而是基于核心系统“零容忍”的严苛要求,理性选择了可控性更强的业务层双写方案;同时对方案引入的代码复杂度与运维风险有清醒认知,严格限定其为过渡期策略。经验务实、风险剖析深刻,对同行有很高的参考价值。
本议题属于以下课题,欢迎参与交流,了解更多可点击↓↓↓
热门跟贴