zoukankan      html  css  js  c++  java
  • 13万张表+数亿行代码,迁移只需数小时,还是异构数据库

    摘要:而对企业来说,构建统一的数据底座,才能让数据供应和业务端更高效、更安全、更易共享。随着技术的日新月异,上云已非难事,但异构数据库(转换数据库类型)迁移上云在业界仍是一个巨大的挑战。

    本文分享自华为云社区《13万张表,数亿行代码,华为云UGO助力异构数据库迁移只需小时级完成!》,原文作者:心机胖 。

    当前,云上办公,云上交易,云上数字运营已成为主流,不把业务部署到云端,仿佛跟不上时代的步伐。而对企业来说,构建统一的数据底座,才能让数据供应和业务端更高效、更安全、更易共享。随着技术的日新月异,上云已非难事,但异构数据库(转换数据库类型)迁移上云在业界仍是一个巨大的挑战。

    华为集团是多业态、长链条、全场景的企业,在20年前就开始使用数据库,遍布了研发、供应、财经、行政等领域,有离线场景、实时场景、数仓等使用场景,这些场景使用主流商业数据库居多,随着数字化转型进程加快,在迭代方面,跟不上云的节奏,于是华为集团流程IT携手华为云数据库寻求云上转型。

    对于拥有海量数据、多种数据库类型、数据库专家云集的华为集团流程IT来说,上云也并非易事。业界盛行“两条腿”走路原则,既要多快好省又要安全稳定可靠,当然华为集团也不例外。面临新的异构数据库,既希望性能大幅提升,也要安全稳定,于是华为集团流程IT选择将业务搬迁至华为云数据库RDS与GaussDB,而兼容性和性能是异构数据库迁移最大的难题。

    关山难越,异构数据库迁移难以逾越的“深坑”

    迁移数据库如同搬家,直接搬不太可行,需要先搬“房子主体”,再搬“房子里的家具”等,其中涉及的迁移问题不仅繁杂,而且不能出差错。尤其是令人头疼的兼容问题,不但涉及到结构迁移、语法转换、SQL转换等复杂操作,对数据库性能要求也很高。

    腾云而出,华为云UGO为自动化搬迁而生

    首先华为云数据库联合华为集团流程IT对业务进行全面评估,华为集团数据库有数十万张表,10万级的存储过程,存储过程的代码超过亿级的代码,几十万个任务调度,迁移数据量高达数TB。经评估后,应用手动改造工作量巨大,需要成熟的企业级端到端对象迁移或者是评估工具,来提升异构数据库迁移转化率。

    华为云推出的数据库和应用迁移 UGO则为异构数据库对象迁移和应用迁移而生!通过预迁移评估、自动化语法转换,帮助用户提前识别迁移风险,提升迁移效率,最大化降低用户的数据库迁移成本。华为云数据库给出了三步走的迁移方案,通过华为云UGO评估并转换异构数据库语法进行语法迁移,再通过华为云数据复制服务DRS基于日志的实时变化数据捕捉,进行数据迁移,最后通过华为云DRS数据校验保证数据一致性。

    使用的关键技术有:1)迁移工作量评估:依据海量业务场景下的实际人力迁移成本作为评估基线,依据大量业务场景自动化迁移过程,累计迁移工作量作为输入,同时结合代码量、转化率、不兼容特性改造难度,方便客户对迁移工作有一个具体的量化感知。2) 应用SQL迁移:通过采集源库SQL流量,并进行SQL动态转换,将数据通过流量仿真回放形式迁移到目标库中,提供自动错误定位和迁移校验,迁移过程中订正对象清晰明确。同时,通过对源库进行迁移评估和SQL翻译,并且输出SQL翻译报告,完成应用改造,最后迁移到目标库。

    神速之光,华为云UGO小时级完成搬迁

    华为集团流程IT拥有数TB级别的数据量、数十万存储过程,迁移周期从以天为单位缩短至小时级,减少了50%存储过程改造成本,支撑主流商业数据库500+个Schema迁移,节省了70%+工作量,迁移套数1000+。

    在一般情况下,迁移周期和各方面的评估需要1-2个月的时间,迁移周期也是按天计算,而UGO只需小时级就完成了迁移。华为云UGO消除了异构数据库迁移难度大、周期长、成本高等问题,高效的支撑了华为集团流程IT数字化转型。此外,上云后实现了数据库分钟级扩容、数据秒级入库,解决了传统数据库扩展难及数据入库压力大的问题,可支撑逻辑库亿级别的数据量。微服务化改造后,预期可支撑2年的业务数据增长。

    目前,华为云数据库应用迁移解决方案顺利通过信通院“数据库应用迁移服务能力”评测,成为国内首批通过该项的商用数据库迁移方案,成功取得了国内首批评测最高级别的成绩。未来,华为云UGO将会不断创新,持续构筑技术硬实力,为客户提供更简单易用、高效可靠的迁移方案。

    华为云UGO火热公测中,立即免费体验

     

    点击关注,第一时间了解华为云新鲜技术~

  • 相关阅读:
    cnblog项目--20190309
    django js引入失效问题
    Python老男孩 day16 函数(六) 匿名函数
    Python老男孩 day16 函数(五) 函数的作用域
    Python老男孩 day15 函数(四) 递归
    Python老男孩 day15 函数(三) 前向引用之'函数即变量'
    Python老男孩 day15 函数(二) 局部变量与全局变量
    Python老男孩 day14 函数(一)
    Python老男孩 day14 字符串格式化
    Python老男孩 day14 集合
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/14957712.html
Copyright © 2011-2022 走看看