GaussDB技术解读系列:如何迁移到GaussDB?

news2024/9/22 15:29:13

迁移是数据库选型过程中客户最为关心的话题之一,经过大量的沟通调研,我们总结了三个客户在数据库迁移方面的主要期望:迁移不影响业务运行(安心),迁移不能丢数据(放心),迁移实施起来简单(省心)。

本文从客户视角的三个疑问出发,一起了解华为云GaussDB数据库的迁移解决方案具有哪些核心技术,如何做到让客户在迁移过程中感到安心、放心、省心。

问题一:能不能搬?

每种数据库都有自己的一些特定的“脾气”,比如Oracle的语言直接在GaussDB上运行不一定能工作,这个就是所谓的“语言不通”,这种场景称之为“异构数据库的迁移”,“语言不通”是长期以来异构数据库迁移替换的最大技术障碍。下面我们从技术和效果两方面来看。

技术方面,华为是怎么解决的?

华为的迁移套件中有一款叫UGO的工具,它像“翻译大师一样”,把这个难题分成两部分来看:

第一部分 读懂Oracle语言:Oracle的语法对应一个个巨大的树形结构,并由一些关键元素构成,比如一条Oracle建表语句,表名是什么,有几列,每列的名字是什么等等。UGO具有专属的语法分析器,能够顺着语法树和枚举探测出每条Oracle的语句元素构成,这样最终理解了语义,读懂了Oracle语言。

第二部分 根据知识库“翻译”成GaussDB的写法:根据刚才的描述,这个技术很像是做“翻译”工作,生活经验告诉我们,翻译的水平高低取决于接触的训练场景和词汇样本是否足够大,依靠流程IT和工商银行这两个世界上最复杂的Oracle业务环境训练,截止到现在,华为云UGO已经被注入了几千万行级的代码训练量,这个是业界公布的最高记录,同类产品没有这方面的相关介绍。

那效果究竟如何?

“翻译大师”UGO依托华为独有的训练场景,接入Oracle后,通常几分钟可以生成一份详细的评估报告,让迁移至GaussDB的可行性一目了然。在工行迁移攻坚战的最高挑战场景,千万级的存储过程迁移中,经过UGO的处理,Oracle 95%代码转化后可以在GaussDB直接运行,去O已经非常接近自动化。

问题二:怎么迁移让业务无感知?

数据库一个非常繁忙的软件,每过一秒都有可能会有成千上万的数据发生变化,如何在数据高度变化的动态过程中将数据库迁走,比较容易想到的做法是将业务停机来确保数据迁移不丢失,但这对于一个核心业务来说是无法接受的,这样就提出了一个技术问题,有没有一种办法可以在业务运行过程中将数据库迁移到GaussDB,也就是业界常说的热迁移,或者说在线迁移。

技术方面,华为的迁移套件中有一款叫DRS的工具,它像“数据的复制机”一样,能够做到在Oracle运行过程中迁移到GaussDB。DRS工具从技术上将这个问题分为了三部分:

第一部分 存量数据搬迁,DRS采用行级并行方式抽取数据,抽取性能最大可达100+MB/s,同时客户可以在源端资源允许情况下设置迁移速度,做到按照想要的速度迁移,想快就快,想慢就慢;

第二部分 增量数据搬迁,数据库有一个组件叫日志,它用快速而有序的方式记录了数据库中每一个数据的变化,是数据库停电不丢数据的关键技术,DRS采用技术手段可以将日志记录的事情重演一遍,这个过程就好像将Oracle数据变化录制下来,将同样的操作再在GaussDB上操作一遍,这个技术业界一般称为CDC技术(change data capture)。不仅如此,DRS还采用了技术手段将一条条数据的操作优化为并行运行,让两边数据既能确保不丢失,又能大大提升同步速度,通常Oracle数据库新产生的数据在1s内就可以在GaussDB看到,即使是一个非常庞大繁忙的Oracle系统(比如一天日志量达到TB级别)也能做到秒级同步。

第三部分 动态数据对比,DRS内置了一套专利算法,每隔x分钟(可配置)识别增量日志中变化的数据行,并根据数据行的主键值,查询和对比源库和目标库的数据,从而阶段性验证Oracle和GaussDB的数据一致性,如此循环操作,持续刷新一致性比对结果,得到最终一致性结论。而不用停止Oracle数据库的业务接入,进行长时间的数据校对。

效果如何?

“数据的复制机”DRS通过CDC技术实现在线迁移,做到Oracle在运行过程中将数据迁移至GaussDB,数据可对比零丢失,业务可自由选择割接时间,并且搬迁过程中业务无感。总结下来就是,业务无感->安心,数据不丢失->放心,自动化数据同步->省心。

问题三:怎么确保迁移后业务稳定运行?

上面解答了能不能迁移,怎么迁移的问题,那么迁移至GaussDB后能否平稳度过业务峰值的考验,技术上有了上面UGO和DRS的基础,我们能够在Oracle数据库上自动采集数据了。业务上的一个个请求是从应用程序发送至Oracle数据库的,里面有查询请求,也有数据修改请求,这些请求的总和就是业务流量,业务高峰期采集到业务流量后通过UGO进行语法转化,结合通过DRS构建的真实生产环境数据,这样可以形成了基于GaussDB数据库的业务仿真压测环境。

通过仿真压测,客户可以直接预测GaussDB能否稳定度过业务洪峰,并提前识别是否需要做规格的调整,对于业务本身,也支持细粒度切换的迁移,DRS可以让数据进行双向传输,可并线逐步切流,观察GaussDB的业务承载能力,具备随时可回退能力。

 

最后,再总结一下华为云GaussDB的全套迁移方案, “翻译大师”UGO解决语言不通语法转化的问题,“数据的复制机”DRS解决业务不停机数据迁移的问题,同时DRS工具还提供仿真压测、数据一致性对比等配套能力。

通过这些能力,华为云GaussDB已经在金融各大行项目中广泛应用,同时华为云数据库迁移解决方案是信通院数据库迁移评测中首个获得最高级迁移能力的厂商,华为云GaussDB数据库致力于通过技术,给客户提供一套安心、放心、省心的迁移解决方案。

 

今天的分享就到这里了,谢谢大家,欢迎留言讨论交流~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1132134.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

损失函数总结(四):NLLLoss、CTCLoss

损失函数总结(四):NLLLoss、CTCLoss 1 引言2 损失函数2.1 NLLLoss2.2 CTCLoss 3 总结 1 引言 在前面的文章中已经介绍了介绍了一系列损失函数 (L1Loss、MSELoss、BCELoss、CrossEntropyLoss)。在这篇文章中,会接着上文提到的众多…

【Note】一般二叉树的顺序存储

一般二叉树的存储示意图 位置i012345678910结点ABC^D^E^^F

离子阱领域新突破!滑铁卢团队在量子比特控制方面取得进展

(图片来源:网络) 要想打造未来量子计算机,就需要对量子比特进行精准可靠地控制。研究人员利用激光开发出了一种新方法,可以控制由化学元素钡制成的单个量子比特,这是迄今为止最好的离子阱量子比特控制方法…

使用Redis部署 PHP 留言板应用

使用Redis部署 PHP 留言板应用 启动 Redis 领导者(Leader)启动两个 Redis 跟随者(Follower)公开并查看前端服务清理 启动 Redis 数据库 创建 Redis Deployment apiVersion: apps/v1 kind: Deployment metadata:name: redis-le…

【IDEA查看一个jar包的依赖】

首先install,打jar包 重新创建一个项目 选中刚才的jar包 在这个包下就能看到jar包的依赖了

每日一练 | 华为认证真题练习Day122

1、路由器所有的接口属于同一个广播域。 A. 对 B. 错 2、下列配置默认路由的命令中,正确的是()。 A. [Huawei]ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 B. [Huawei-Serial0]ip route-static 0.0.0.0 0.0.0.0 0.0.0.0 C. [Huawei]ip…

做测试5年,熬到阿里P6,月薪25k,我总结了这些技能点

你是不是经常在工作中遇到过这些问题: Linux下查看端口占用命令你还记得吗? python容器数据操作你清楚吗? Devops要用了,各种必备技能你还不熟? 接口调不同,排查思路不清楚? …… 以上这些…

JMeter + Ant + Jenkins持续集成-接口自动化测试

需要安装的工具: jdk1.8jmeter3.2ant1.9jenkins2.1 1、Jdkwin7系统如何安装jdk及环境变量的配置-百度经验 安装包安装设置环境变量验证是否安装正确 Java -version检查,如下就代表安装成功了,环境变量设置就去搜索了,网上很多…

基于springboot实现就业信息管理系统项目【项目源码+论文说明】

基于springboot实现就业信息管理系统演示 摘要 随着信息化时代的到来,管理系统都趋向于智能化、系统化,就业信息管理系统也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人…

【网安大模型专题10.19】※论文5:Keep the Conversation Going: $0.42 each using ChatGPT

Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT 写在最前面背景介绍自动程序修复流程Process of APR (automated program repair)1、漏洞程序2、漏洞定位模块3、补丁生成4、补丁验证 (可以学习的PPT设计)经典的…

微软成AI热潮大赢家,继续押注大模型和人工智能

KlipC报道:微软在官网发布了财报,据数据显示该公司营收同比增长13%达565亿美元,营业利润同比增长25%达269亿美元,净利润同比增长27%达223亿美元。 KlipC的合伙人Andi D表示:“微软的智能云部门收入同比增长19%&#xf…

echarts插件-liquidFill(水球图)

echarts插件-liquidFill(水球图) 1.下载2.引入:3.使用 1.下载 echarts.js下载:https://cdnjs.com/libraries/echarts echarts-liquidfill.js下载:https://github.com/ecomfe/echarts-liquidfill 2.引入: …

Ubuntu虚拟机部署OpenStack

1、部署环境 系统:ubuntu-22.04.3-desktop-amd64DevStack版本:2024.1VMware Workstation:8G内存、4核处理器、100G硬盘/1、网络NAT模式/1 2、Ubuntu环境设置 点击show applications,选择Software&Updates 跟换Ubuntu的镜像…

Selenum八种常用定位(案例解析)

Selenium是一个备受推崇的工具。它有着丰富的功能,让我们能够与网页互动,执行各种任务,能为测试工程师和开发人员提供了很大的便利。 要充分利用Selenium,就需要了解如何正确定位网页上的元素。 接下来我将带大家共同探讨Seleni…

什么是WMS系统条码化管理

WMS系统是一种用于仓库管理的信息化系统,旨在提高仓库操作的效率和准确性。而在WMS系统中,条码化管理是一项关键的技术和方法,它通过将商品和物料打上条码,并利用扫描设备进行数据采集和处理,实现了仓库管理的全面自动…

全网最全的阿里云ACP认证介绍,看这篇就够了!

IT行业的朋友们在找工作的时候,一定会经常看到“有阿里云ACP认证优先”。这也就是说,有一个ACP认证会是你的加分项。 获得阿里云ACP认证的好处: 1、增加职场竞争力,为企业招投标提供资质证书; 2、官方认证证书&#…

echarts-进度条

echarts-进度条 option {title: {text:"xxxx统计",left: 1%,top: 0%,textStyle: {color: "#2E3033",fontSize:18,},},tooltip: {axisPointer: {type: "shadow",},},grid: {top: 9%,left: "12%",right:"22%",bottom:"0…

算法通过村第十六关-滑动窗口|白银笔记|经典题目讲解

文章目录 前言最长字串专场无重复字符的最长字串至多包含两个不同字串的最长子串至多包含K个不同字串的最长子串 长度最小的子数组盛水最多的容器寻找字串异位词(排序)字符串的排序找到字符串中所有字母异位 总结 前言 提示:所有的话语都颇为类似,而沉默…

视频号视频提取工具,操作简单!一键搞定

在当下信息爆炸的时代,视频成为了人们获取信息、娱乐和交流的重要方式。而随着视频创作的普及,越来越多的人希望能够从各类视频中提取出有价值的素材和片段,以便用于自己的创作需求。然而,对于大多数人来说,费时费力地…

极智项目 | 实战静默活体人脸检测

欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文来介绍 实战静默活体人脸检测。 本文介绍的 实战静默活体人脸检测,提供完整的可以一键执行的项目工程源码,获取方式有两个&#xff1a…