您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    开发者必看!你想知道的迁移之道都在这里了
    时间:2021-08-07 08:02 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    开发者必看!你想知道的迁移之道都在这里了

    1.背景引见

    随着GaussDB(for openGauss)数据库的不断开展,越来越多的客户末尾选择运用GaussDB(for openGauss),其中很大一部分客户是将现有的系统交流到GaussDB(for openGauss)上,客户以后所用的数据库类型多种多样,如Oracle、MySQL、PostgreSQL等。那么如何处置将客户以后数据库迁移到GaussDB(for openGauss)上是一个很迫切的需求。GaussDB(for openGauss)自带的GDS数据迁移工具完成了GaussDB(for openGauss)之间的高效数据迁移,但是无法处置异构同步和实时同步的场景。华为云数据库迁移工具DRS以一种易用、波动、高效的云效劳为GaussDB(for openGauss)提供了异构迁移和实时同步的才能,助力客户轻松将数据库迁移到GaussDB(for openGauss)。

    2.数据库迁移全体处置方案

    数据库迁移的目的是为了业务迁移,而业务能否顺利切换取决于数据库的迁移才能和迁移后的准确性,站在业务侧的角度,至少要满足以下三个正确性才可以去做业务的切换。

    对象迁移是正确的

    数据库的存储进程、函数、触发器、表结构、索引等全部数据库对象可以残缺的迁移到目的库,并且可以保证对象的运转逻辑和源库是分歧的。

    数据迁移是正确的

    将源库的全量数据迁移到目的库,当业务对停机时间窗口有要求的时分,要思索全量+增量的在线迁移,保证业务不中缀。同时要可以对同步的数据停止校验,保证迁移数据的准确性。

    迁移后业务运转是正确的

    当对象和数据都迁移到目的库后,业务的切换还存在两个风险点,一个是业务在目的库的运转结果能否正确,另一个是目的库功用能否和源库一样支撑住业务的负载。由于异构数据库之间的差异还是很大的,设计理念和完成方式存在很多不同,会招致看上去相似的两个对象,其运转结果或效率是完全不同的。所以要有工具来验证这种差异,保证迁移后业务运转的正确性。

    为了完成以上业务切换需求满足的条件,华为云提供了数据库迁移的全体处置方案,经过语法迁移(UGO),DRS-数据迁移,DRS-数据校验和DRS-流量回放4个工具产品构成了整个迁移进程的闭环。

    开发者必看!你想知道的迁移之道都在这里了

    语法迁移(UGO)

    完成了将oracle数据库对象迁移到GaussDB(for openGauss)的才能,可以给出残缺的迁移评价报告,哪些对象可以完全兼容的停止迁移,哪些对象需求停止转换停止迁移,哪些对象需求业务配合改造。

    DRS-数据迁移

    完成将Oracle、MySQL、PostgreSQL等数据库数据实时迁移到GaussDB(for openGauss)的才能。

    DRS-数据校验

    完成了对数据迁移后的分歧性校验,具有行级比对、内容级比对和实时的增量数据比对的才能。

    DRS-流量回放

    完成对Oracle数据库的业务流量抓取,并对流量SQL停止转换,然后在GaussDB(for openGauss)停止回放的才能。

    3.DRS数据迁移上云

    开发者必看!你想知道的迁移之道都在这里了

    DRS提供了复杂、易用的操作界面,采用流程化的配置方式,客户按照提示步骤一步一步操作便可以搭建出同步链路。DRS除了支持Oracle到GaussDB(for openGauss)的数据迁移外,还支持其他数据库之间的数据同步,下面给出了以后DRS所支持的源库和目的库类型的列表。

    开发者必看!你想知道的迁移之道都在这里了

    在数据迁移进程中,DRS采用很多手腕和技术去降低能够存在的风险,保证迁移进程的波动和最终数据的分歧性。

    在线迁移

    DRS经过全量迁移将客户数据库中的存量数据迁移到GaussDB(for openGauss)中,经过增量同步,实时解析源库日志,将客户的实时变化数据同步到Gauss(for openGauss),经过全量和增量的无缝衔接来保证客户在不中缀业务的状况下,残缺地将全部数据迁移到GaussDB(for openGauss)。

    预校验

    在DRS的迁移义务启动之前,为延迟发现迁移启动后能够存在的风险或错误,DRS引入预校验环节,可以提早对配置信息、数据库兼容性信息、连通性信息等停止校验,同时会对一些可以迁移成功但能够会对业务产生影响的状况停止告警,让客户及时发现并提早处置。

    断点机制

    为保证数据迁移的分歧性,DRS在每个组件中都设有断点机制,无论是在正常启停、异常重启还是在缺点切换的场景下都可以保证数据同步的准确性,不会形成数据丧失。

    4.DRS技术完成原理

    DRS在技术完成上主要分为两个大的模块,一个是全量的数据同步,另一个是增量数据同步。全量同步处置对静态数据的迁移,增量同步处置对实时的变化数据迁移。

    全量同步的技术架构

    全量同步的全体逻辑比较复杂,就是从源库把数据经过select的方式查询出来,然后再将这些数据写入到目的库,只是在详细的代码完成上会有一些关键技术点。

    开发者必看!你想知道的迁移之道都在这里了

    数据分片

    普通全量同步产品的同步粒度都可以到达表级别的并发,即多个线程可以同时对多张表同时停止同步,但往往客户的系统中会存在单表数据量特别大的状况,比如一张表几十亿甚至上百亿的数据,此时这张表的同步时间就变为整个全量同步的时间。那么如何进一步提升单张表的同步效率呢?我们可以对单表做进一步的拆分,按照主键去把它拆分红多个分片,多线程以分片为单位做并行的同步。

    以后DRS按照下面的策略对表停止分片:

    无主键表不停止分片

    分区表按分区停止同步,不再对每个分区停止分片

    有主键表按主键(第一列)停止分片

    数据不落盘

    为增加全量同步进程中对磁盘的占用,DRS导出的数据不停止落盘缓存,而是直接经过内存传递给导入线程,在导出和导入速率相当的状况下,可以最大化的提高全量同步的效率。

    断点控制

    (责任编辑:admin)