For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
数字化转型发展是目前大多数企业都在执行的一个转型发展策略,而本文我们就通过案例分析来简单了解一下,数字化网络迁移常见问题分析。
1、数据库迁移整体解决方案
数据库迁移的目的是为了业务迁移,而业务能否顺利切换取决于数据库的迁移能力和迁移后的准确性,站在业务侧的角度,至少要满足以下三个正确性才能够去做业务的切换。
对象迁移是正确的
数据库的存储过程、函数、触发器、表结构、索引等全部数据库对象能够完整的迁移到目标库,并且能够保证对象的运行逻辑和源库是一致的。
数据迁移是正确的
将源库的全量数据迁移到目标库,当业务对停机时间窗口有要求的时候,要考虑全量+增量的在线迁移,保证业务不中断。同时要能够对同步的数据进行校验,保证迁移数据的准确性。
迁移后业务运行是正确的
当对象和数据都迁移到目标库后,业务的切换还存在两个风险点,一个是业务在目标库的运行结果是否正确,另一个是目标库性能能否和源库一样支撑住业务的负载。因为异构数据库之间的差异还是很大的,设计理念和实现方式存在很多不同,会导致看上去类似的两个对象,其运行结果或效率是完全不同的。所以要有工具来验证这种差异,保证迁移后业务运行的正确性。
为了实现以上业务切换需要满足的条件,华为云提供了数据库迁移的整体解决方案,通过语法迁移(UGO),DRS-数据迁移,DRS-数据校验和DRS-流量回放4个工具产品形成了整个迁移过程的闭环。
2、语法迁移(UGO)
实现了将oracle数据库对象迁移到GaussDB(foropenGauss)的能力,可以给出完整的迁移评估报告,哪些对象可以完全兼容的进行迁移,哪些对象需要进行转换进行迁移,哪些对象需要业务配合改造。
DRS-数据迁移
实现将Oracle、MySQL、PostgreSQL等数据库数据实时迁移到GaussDB(foropenGauss)的能力。
DRS-数据校验
实现了对数据迁移后的一致性校验,具备行级比对、内容级比对和实时的增量数据比对的能力。
DRS-流量回放
实现对Oracle数据库的业务流量抓取,并对流量SQL进行转换,然后在GaussDB(foropenGauss)进行回放的能力。
3、DRS数据迁移上云
DRS提供了简单、易用的操作界面,采用流程化的配置方式,客户按照提示步骤一步一步操作便可以搭建出同步链路。DRS除了支持Oracle到GaussDB(foropenGauss)的数据迁移外,还支持其他数据库之间的数据同步,下面给出了当前DRS所支持的源库和目标库类型的列表。
在数据迁移过程中,DRS采用很多手段和技术去降低可能存在的风险,保证迁移过程的稳定和终数据的一致性。
在线迁移
DRS通过全量迁移将客户数据库中的存量数据迁移到GaussDB(foropenGauss)中,通过增量同步,实时解析源库日志,将客户的实时变化数据同步到Gauss(foropenGauss),通过全量和增量的无缝衔接来保证客户在不中断业务的情况下,完整地将全部数据迁移到GaussDB(foropenGauss)。
预校验
在DRS的迁移任务启动之前,为提早发现迁移启动后可能存在的风险或错误,DRS引入预校验环节,能够提前对配置信息、数据库兼容性信息、连通性信息等进行校验,同时会对一些可以迁移成功但可能会对业务产生影响的情况进行告警,让客户及时发现并提前处理。
断点机制
为保证数据迁移的一致性,DRS在每个组件中都设有断点机制,无论是在正常启停、异常重启还是在故障切换的场景下都可以保证数据同步的准确性,不会造成数据丢失。
4、DRS技术实现原理
DRS在技术实现上主要分为两个大的模块,一个是全量的数据同步,另一个是增量数据同步。全量同步解决对静态数据的迁移,增量同步解决对实时的变化数据迁移。
全量同步的技术架构
全量同步的整体逻辑比较简单,就是从源库把数据通过select的方式查询出来,然后再将这些数据写入到目标库,只是在具体的代码实现上会有一些关键技术点。
数据分片
一般全量同步产品的同步粒度都可以达到表级别的并发,即多个线程可以同时对多张表同时进行同步,但往往客户的系统中会存在单表数据量特别大的情况,比如一张表几十亿甚至上百亿的数据,此时这张表的同步时间就变为整个全量同步的时间。那么如何进一步提升单张表的同步效率呢?我们可以对单表做进一步的拆分,按照主键去把它拆分成多个分片,多线程以分片为单位做并行的同步。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。