GaussDB云数据库配套工具UGO

news2024/12/23 11:01:05

目录

一、前言

二、数据库和应用迁移UGO定义

1、UGO定义

2、异构数据库迁移简图

三、数据库迁移的痛点

四、数据库和应用迁移UGO能力介绍

五、数据库和应用迁移UGO方案简图介绍

六、小结

一、前言

在数字化时代,企业面临着越来越多的数据库和应用迁移需求。为了满足这一需求,华为云推出了一款全新的数据库和应用迁移解决方案(数据库和应用迁移UGO)。该方案主要用于解决企业数据迁移难的问题(比如语法不兼容、技术不支持、改造成本高......尤其对于异构数据库来说,迁不了、移不动、高成本)。 它可以帮助用户轻松实现源数据库到目标平台的迁移,降低迁移成本,提高转化率。

二、数据库和应用迁移UGO定义

1UGO定义

数据库和应用迁移 UGO(Database and Application Migration UGO,以下简称为UGO)是专注于异构数据库结构迁移的专业服务

通过UGO,可将源数据库中的DDL、DML和DCL一键自动转换为华为云GaussDB/RDS的SQL语法,通过数据库评估、对象迁移两大核心功能和自动化语法转换,提前识别可能存在的改造工作、提高转化率、最大化降低用户数据库迁移成本。

2、异构数据库迁移简图

说明:主要分三块,源数据库、迁移工具(服务)和目标数据库。源数据库主要可以包含线下数据库(如oracle、mysql……)和云上数据库(如RDS、自研的……);数据库迁移工具主要包含UGO(语法迁移)、DRS(数据迁移与校验);目标数据库主要是华为云数据库(如GaussDB、RDS等)。

三、数据库迁移的痛点

数据库迁移存在的一些痛点问题:

  • 复杂性高:传统数据库迁移通常需要对源数据库进行大量的修改和调整,包括数据结构、存储方式、索引等。这些修改可能会导致应用程序的不兼容或者性能下降等问题,从而增加迁移的复杂性和风险。
  • 成本高昂:传统数据库迁移通常需要专业的团队进行规划、设计和实施,需要投入大量的人力、物力和时间。同时,如果迁移过程中出现问题,还需要进行额外的修复和调整,增加了成本和风险。
  • 风险高:传统数据库迁移涉及到多个系统和应用程序之间的交互和依赖关系,一旦出现问题可能会影响整个系统的稳定性和可用性。此外,由于源数据库和目标数据库之间存在差异,迁移过程中可能会出现数据丢失、损坏等问题,从而导致业务中断和损失。
  • 可扩展性差:传统数据库迁移通常是一次性的事件,一旦完成就无法再进行扩展和升级。如果需要添加新的功能或者支持更多的用户,就需要重新进行数据库迁移,这会增加成本和风险。

数据库迁移存在一系列的痛点问题,这些问题不仅会影响企业的运营效率和竞争力,还会增加企业的成本和风险。因此,采用新型的数据库迁移工具和技术是解决企业数据库迁移的关键。

四、数据库和应用迁移UGO能力介绍

UGO 是专注于异构数据库对象迁移和应用迁移的专业化工具。通过预迁移评估、结构迁移二大核心功能,助力用户轻松实现一键上云、一键切换数据库。

  • 据库画像:以海量源库的业务场景为样本、以数据库关键指标为特性进行算法训练,以得出该源库实例的画像信息。
  • 选型与规格:以源库画像作为输入,经过UGO目标推荐模型,为用户推荐合适的目标库和规格组合。目标库的选型方案会根据源库画像输入动态生成不同推荐组合。
  • 兼容性分析:以源库画像为输入,通过UGO内核对目标库的转化率,对14个核心对象类型进行兼容性分析。
  • 工作量评估:以源库画像为输入,线下海量场景的人力迁移成本为评估基线,经过UGO的评估模型,可以分析该数据库实例的迁移成本,包括DBA、开发、测试的工作量。
  • 结构迁移:以预迁移评估为输入和方案指导,支持用户在转换前自定义过滤迁移对象,转换完成后,标记转换失败对象和失败原因,用户可以根据失败原因进行对象校正,校正之后进行验证测试,验证失败对象回到校正步骤进行重新修改,持续提交验证。直至所有对象验证成功。
  • SQL迁移:分两部分,第一部分在应用侧部署Agent进行流量捕获,采集从应用侧提交到数据库的SQL语句,并通过UGO内核进行动态转换,转换后的SQL在目标侧进行回放,并生成性能分析报告。第二部分对应用侧提交到源库的SQL进行采集,采集之后通过UGO内核进行转换,在目标库验证转换准确性,生成SQL翻译报告,供开发人员进行应用程序改造。

五、数据库和应用迁移UGO方案简图介绍

随着GaussDB云化发展,通过UGO,可以轻松便捷的进行数据库和应用迁移。UGO的迁移过程主要分五步:

  • 第一步:源数据库,支持线下数据库或其他云数据库作为源端。
  • 第二步:对象采集,对数据库进行数据采集,采集信息除了对象结构和SQL之外,还包含容量、性能、复杂度、配置等信息。
  • 第三步:迁移评估,分析源库进行画像,对目标库的兼容性、选型、规格、工作量、风险等进行评估,提前预知风险。
  • 第四步:转换校验,对采集的对象进行等价语法转换,并对转换后的语法进行校验测试。
  • 第五步:迁移上线(目标库),对验证通过的对象自动应用到目标库。

最佳实践可参考官网《Oracle结构迁移到GaussDB》:

方案概述_数据库和应用迁移 UGO_最佳实践_Oracle结构迁移到GaussDB_华为云 

六、小结

数据库对象迁移过程的本质是将UGO转换后的数据库对象的SQL语句在目标库执行。数据库迁移阶段完成后,分别抽取源库和目标库的对象属性进行比对,以确保使用UGO进行数据库对象迁移后是否存在对象丢失的情况。

UGO负责对源库进行风险和工作量评估,自动转换异构数据库语法,据了解,目前已经做到了95%的自动化;DRS负责全量和增量数据的实时在线迁移和同步,通过数据一致性比对确保数据零丢失。 华为云数据库提供“GaussDB + UGO + DRS”一站式迁移上云解决方案,可帮助用户提前识别迁移风险,提升迁移效率,最大化降低用户的数据库迁移成本 。

——结束。

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

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

相关文章

SpringBoot解决跨域问题的几种方式

本文参考自:SpringBoot 解决跨域问题的 5 种方案!_springboot跨域问题解决方案_肥肥技术宅的博客-CSDN博客 SpringBoot解决ajax跨域问题-腾讯云开发者社区-腾讯云 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷…

认识C++继承

认识继承 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由…

Protobuf数据交互实战

"no one gonna make me down" 在之前呢,我们介绍了什么protobuf以及它的语法、数据类型。 一句老话说得好,"多说不练,假把式!"。因此,本篇会选择以protobuf的语法,完成一个简易的通讯…

uniapp 微信小程序 自定义弹框+picker下拉选择列表+输入表单:拒绝-选择理由弹窗

效果&#xff1a; 1、template <!-- 拒绝-选择理由弹窗--> <view class"reason-popover" v-if"showReasonDialog"><view class"reason-modal"><view class"reason-title"><text>请选择拒绝理由<…

文心一言 VS 讯飞星火 VS chatgpt (64)-- 算法导论6.5 3题

文心一言 VS 讯飞星火 VS chatgpt &#xff08;64&#xff09;-- 算法导论6.5 3题 三、要求用最小堆实现最小优先队列&#xff0c;请写出 HEAP-MINIMUM、HEAP-EXTRACT-MIN、HEAP DECREASE-KEY 和 MIN-HEAP-INSERT 的伪代码。 文心一言&#xff1a; 以下是使用最小堆实现最小…

界面控件DevExpress WPF数据编辑器组件,让数据处理更灵活!(二)

界面控件DevExpress WPF编辑器库可以帮助用户提供直观的用户体验&#xff0c;具有无与伦比的运行时选项和灵活性。WPF数据编辑器提供了全面的掩码和数据验证支持&#xff0c;可以独立使用&#xff0c;也可以作为容器控件(如DevExpress WPF Grid和WPF TreeList)中的单元格编辑器…

ubantu 安装 sudo apt install ubuntu-restricted-extras. 如何 OK

在安装的时候&#xff0c;不知道如何 Ok 使用 回车键&#xff0c;空格键 均不行&#xff0c;使用 Tab 键 &#xff0c;然后再使用 回车键。 Configuring ttf-mscorefonts-installer 答案是使用 Tab 键。

【Python】pyecharts 模块 ③ ( 使用 pyecharts 模块绘制折线图 )

文章目录 一、使用 pyecharts 模块绘制折线图1、折线图绘制过程2、完整代码示例 pyecharts 画廊网站 : https://gallery.pyecharts.org/#/ 在该网站可查看官方示例 一、使用 pyecharts 模块绘制折线图 1、折线图绘制过程 首先 , 导入 折线图 Line 对象 , 该类定义在 pyecharts…

Go http.Get不需要defer res.Body.Close()

前戏&#xff1a; go net/http包&#xff0c;必须要手动关闭嘛&#xff1f;非也。线上程序为啥协程数量直线上升&#xff0c;因为使用的姿势不对&#xff0c;请换个姿势。 干货&#xff1a; 手动关闭&#xff0c;释放资源 defer res.Body.Close() &#xff08;这是一个好习…

LeetCode[剑指Offer51]数组中的逆序对

难度&#xff1a;Hard 题目&#xff1a; 在数组中的两个数字&#xff0c;如果前面一个数字大于后面的数字&#xff0c;则这两个数字组成一个逆序对。输入一个数组&#xff0c;求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制&#xff1a; 0 < 数组…

C++【STL】queue和deque 容器详解

C【STL】queue和deque 容器详解 一级目录 二级目录 三级目录 1. 什么是queue容器&#xff1f; Queue是一种先讲先出( First In First Out,FIFO )的数据结构&#xff0c;它有两个出口。 queue模版类的定义在头文件中。 include 定义queue对象的示例代码如下∶ queue<i…

【华为c# OD机考参考答案】01---IPv4地址转换成整数

题目 1、题目 01---IPv4地址转换成整数2、解图思路 1、IP地址转为二进制 2、二进制转十进制 3、注意事项 1、IP地址的范围判断 2、空字符串判断 3、非法字符判断 4、考点 1、string的split 、convert等相关用法 2、正则表达式 3、进制转换 4、理解32位整数的意思 5、代码 判…

2023华为OD统一考试(B卷)题库清单(持续收录中)以及考点说明

目录 专栏导读2023 B卷 “新加题”&#xff08;100分值&#xff09;2023Q2 100分2023Q2 200分2023Q1 100分2023Q1 200分2022Q4 100分2022Q4 200分牛客练习题 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》。 刷的越多&…

【实用工具】-Git+GitLab

1. Git介绍 1.1 什么是Git&#xff1f; Git是一个分布式版本控制系统&#xff0c;用于跟踪和管理项目代码的变化。它是由Linus Torvalds于2005年创建的&#xff0c;旨在帮助开发者更好地协作、追踪代码的更改&#xff0c;并轻松地回滚到之前的版本。 Git相比传统的集中式版本…

网络安全 Day17-计算机网络知识02

计算机网络知识02 1. 交换机2. 网络知识名词3. ARP3.1 ARP通讯原理3.2 arp欺骗3.3 ARP欺骗与预防3.4 排查ARP病毒 4. 路由器 1. 交换机 什么是交换机 实现一个网络内多台主机之间通讯的设备用于电信号转发和放大的网络设备 常见的交换机&#xff1a;以太网交换机&#xff0c;电…

【Java】SpringBoot下写一个全局捕获异常的怎么实现?

文章目录 前言一、全局异常处理方式一1.1 自定义全局异常类1.2 手动抛出异常1.3 测试打印 二、全局异常处理方式二2.1 定义基础接口类2.2 定义枚举类2.3 自定义异常类2.4 自定义数据传输2.5 自定义全局异常处理2.6 测试代码 总结 前言 在日常项目开发中&#xff0c;异常是常见…

Nginx 用户指南:安装、配置和基本使用

前言 本用户指南将帮助您了解如何安装、配置和基本使用 Nginx。Nginx 是一款高性能的开源 Web 服务器和反向代理服务器&#xff0c;具有强大的性能和灵活性&#xff0c;可以满足各种 Web 服务器需求。 安装 Nginx a. 在 Ubuntu 上安装&#xff1a; $ sudo apt update $ sud…

(转载)神经网络遗传算法函数极值寻优(matlab实现)

本博客的完整代码获取&#xff1a; https://www.mathworks.com/academia/books/book106283.html 1案例背景 对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值。这类问题可以通过神经网络结合遗传算法求解,利用神经网络的非线性拟合能力和遗传算法的非线性…

【前端动画】科技感扫描效果 css动画animation

扫描出现动画 参考了网友写的二维码扫描 <template><div><div class"scan-content"><img style"width: 2rem;height: 2rem;" src"../../assets/images/eye.png" alt"" /><div class"line">…

四个现实中的商品样例,帮助你理解如何使用css【前端CSS入门样例】

实现商品列表 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>商品列表图片</title><style>.row > img {width: 15%;}</style></head><body><div class"row"><img sr…