数据迁移卷不动了?Squids DBMotion新增多种数据库迁移能力

news2024/11/26 12:29:09

Squdis DBMotion新增了多种数据库的迁移能力:SQLServer to SQLServer、Redis to Redis、MySQL to Kafka,增加了列映射、校验任务独立、抽样校验、校验复检和限速等十多项功能

本次版本更新,DBMotion新增了三种数据库迁移同步的场景。目前,DBMotion已经支持8种不同的数据库迁移同步场景(5款同构数据库和3款异构数据库)

  • MySQL to MySQL

  • Redis to Redis

  • SQLServer to SQLServer

  • MongoDB to MongoDB

  • openGauss to openGauss

  • Oracle to GaussDB

  • MySQL to ClickHouse

  • MySQL to Kafka

SQLServer迁移和校验

本次新增了SQLServer到SQLServer结构、全量迁移和结构、数据校验能力。用户可以选择要迁移的SQLServer源库和目标库,进行对象和数据迁移。

图片

目前支持SQLServer 2017和2019版本的多种不同对象迁移,包括table、user、view、procedure、function、trigger、event、type、sequence、synonym和xmlschema。

图片

数据迁移,支持常规数据类型,支持包括LOB类型、uniqueidentifier、hierarchyid、rowversion、geometry、geography等特殊数据类型特殊字段属性支持identity列和computed列。

图片

SQLServer迁移完成以后,可以执行对象校验,对比各种对象和表结构的一致性

图片

或者执行数据校验来对比迁移后数据是否完全一致。

图片

Redis迁移和校验

本次新增Redis到Redis数据迁移和数据校验能力,支持Redis 5.0及以上版本。

图片

新建任务之后,DBMotion就会将您在Redis上的16个DB中的所有key和value都同步到目标端。

图片

接下来进入数据校验页面,可以对迁移过去的数据进行校验,DBMotion将对比所有DB中的key和value值是否一致。

图片

MySQL to Kafka

新增MySQL到Kafka数据同步功能,用户可以选择需要抽取的MySQL数据库。

图片

源库中MySQL的数据如下:

图片

数据同步到Kafka以后,显示如下:

图片

列映射

DBMotion之前仅支持库级别和表级别的名称映射,本次新增了列级别的映射,用户可以在映射和过滤阶段,设置库和表的映射

图片

点击进入某个表的“映射与过滤”页面,设置列的映射。

图片

迁移完成后,进入目标库查看,可以看到库、表和字段均显示为迁移过程中我们所设置的映射名。

图片

限速

迁移同步期间,源库/目标库还在提供业务访问。如果迁移的流量过大,可能会对源库造成一定影响,从而对业务产生一定的影响。

图片

为了避免对系统造成过大的负担,有效地控制数据迁移的速度,DBMotion在本版本中支持按照吞吐量(MB/s)对传输任务进行限速

图片

限速后,DBMotion保证吞吐量最大不超过设置的最大值,保护数据库业务的正常运行。

图片

校验任务独立

部分客户会自己使用MySQLdump或者其他类似的工具来做迁移或者同步,但是希望使用我们的校验工具对比一下迁移对象和数据是否完全一致。在DBMotion这个新版本中,开始支持独立的校验任务。用户可以进入“数据校验”任务列表展示页面上,点击“添加任务”进入页面。

图片

与新建数据传输任务一样的页面,您可以根据向导填好任务相关选项并进行预检查,新建一个纯对象/数据校验的任务。

图片

任务新建成功以后,就可以在任务详情页面查看对象对比和数据对比的结果,确认到底有哪些对象/数据存在不一致的问题。校验不一致的数据可以点击“详情”查看具体的不一致情况,或者点击“订正SQL”,查看要执行怎样的SQL才能让目标库跟源库保持一致。

图片

抽样校验

对于数据量特别大的表,由于校验时间太长,客户可能并不想校验所有的数据。DBMotion在本期提供了抽样校验的选项,在新建校验任务阶段可以配置校验的抽样比例

图片

在抽样校验任务完成后,查看校验结果。51232行数据,进行30%的抽样后,共校验了17171行数据,符合目标预期。

图片

总结

总体来说,本次共修复和更新了二十多项功能:

SQL Server

  • 对象迁移:支持table、 view、function、 procedure、trigger、sequence, synonym、type和xml schema

  • 全量数据迁移:支持常规类型,支持LOB类型、uniqueidentifier、hierarchyid、rowversion、 geometry和geography等特殊数据类型;支持identity列和computed列

  • 对象校验:支持对各种迁移过去的对象进行校验,展示对象校验详情,生成订正SQL

  • 数据校验:支持各种数据类型的校验,查看不一致数据,生成订正SQL

  • 其它:支持一次迁移多个数据库

Redis

  • 数据迁移:支持全量迁移、全量的断点续传

  • 数据校验:全量校验、抽样校验、不一致详情查看

MySQL

  • 新增MySQL到Kafka,支持全量数据迁移,全量迁移断点续传

  • MySQL到ClickHouse支持无主键表迁移

  • MySQL到ClickHouse数据类型优化

  • 支持列映射,创建任务时可以指定目标端列名

  • 支持列脱敏,对于敏感信息可以选择脱敏

  • 支持敏感信息识别

  • 增量失败后支持修正或跳过错误

  • 支持快速复检

  • 优化对象校验详情展示,详情新增具体校验内容

其它功能

  • 支持创建独立校验任务,支持结构校验和数据校验,校验不再依赖迁移任务

  • 数据校验支持周期停止

  • 支持分片续传,在全量迁移阶段,暂停任务后,已经完成的分片不再重新传输

  • Docker线下版开始支持限速

问题修复

  • 修复了目标端未开启binlog,结束迁移时任务失败问题

  • 修复了MySQL mrg_myisam表迁移失败问题

  • 修复了MySQL 表中有生成列迁移失败问题

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

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

相关文章

el-table组件插槽“slot-scope”

目录 一、代码展示 二、返回的数组对象不含value或者ispass&#xff0c;不会报错 三、插槽里面放的是要手动输入的值时 一、代码展示 <el-table v-loading"loading" :data"checklistList" selection-change"handleSelectionChange"><…

轻松实现数据一体化:轻易云数据集成平台全解析

在当今快速发展的商业环境中&#xff0c;企业面临着大量来自多样数据源的数据。如何将这些数据进行高效集成和利用&#xff0c;成为企业数字化转型的关键挑战。轻易云数据集成平台提供了一个一站式的解决方案&#xff0c;帮助企业实现数据的无缝集成和高效利用。下面我们将通过…

Pandas Groupby:在Python中汇总、聚合和分组数据

GroupBy是一个非常简单的概念。我们可以创建一个类别分组&#xff0c;并对这些类别应用一个函数。这是一个简单的概念&#xff0c;但它是一种在数据科学中广泛使用的非常有价值的技术。在真实的的数据科学项目中&#xff0c;您将处理大量数据并一遍又一遍地尝试&#xff0c;因此…

Linux(CentOS7)下源码编译 PostgreSQL13.10 安装手册

Linux&#xff08;CentOS7&#xff09;下PostgreSQL安装手册 文章目录 一、准备PostgreSQL二、安装PostgreSQL2.1解压安装包2.2编译PG2.3查看PG安装目录2.4配置PG环境变量2.5查看PG版本2.6创建postgres用户2.7创建PG数据库数据存放目录2.8授权PG数据库数据存放目录2.9切换postg…

一起学SF框架系列5.9-spring-Beans-bean实例创建

bean实例化底层采用Java反射机制&#xff0c;但Spring根据框架需要提供了更多的增强功能。 类关系图 InstantiationStrategy&#xff1a;接口-定义了创建RootBeanDefinition对应bean实例方法 SimpleInstantiationStrategy&#xff1a;简单bean的实例化处理。实现了Instantiati…

WEB:题目名称-文件包含

背景知识 题目 题目了文件包含&#xff0c;所以想到了php伪协议 构造payload尝试读取flag.php /?filenamephp://filter/readconvert.base64-encode/resourceflag.php 页面提示“do not hack”猜测可能是黑名单检测敏感字符串。猜测字符串哪些被禁用&#xff0c;这里输入单个…

【算法与数据结构】144、94、145LeetCode二叉树的前中后遍历(递归法、迭代法)

文章目录 一、题目二、递归算法三、迭代算法3.1 迭代算法13.2 迭代算法2 ——统一风格写法 四、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、递归算法 思路分析&#xff1a;这道题比较简单&#xff0c;不多说…

LCD—STM32液晶显示(2.使用FSMC模拟8080时序)

目录 使用STM32的FSMC模拟8080接口时序 FSMC简介 FSMC NOR/PSRAM中的模式B时序图 用FSMC模拟8080时序 重点&#xff1a;HADDR内部地址与FSMC地址信号线的转换&#xff08;实现地址对齐&#xff09; 使用STM32的FSMC模拟8080接口时序 ILI9341的8080通讯接口时序可以由STM32使…

PHP要怎么学--【强撸项目000】

强撸项目 总目录在000集 文章目录 本系列校训学习资源的选择环境的问题本人推荐 PHP视频的知识点分析总结题外话 本系列校训 用免费公开视频&#xff0c;卷飞培训班哈人&#xff01;打死不报班&#xff0c;赚钱靠狠干&#xff01; 只要自己有电脑&#xff0c;前后项目都能搞&a…

sqli-labs 堆叠注入 解析

打开网页首先判断闭合类型 说明为双引号闭合 我们可以使用单引号将其报错 先尝试判断回显位 可以看见输出回显位为2&#xff0c;3 尝试暴库爆表 这时候进行尝试堆叠注入&#xff0c;创造一张新表 ?id-1 union select 1,database(),group_concat(table_name) from informatio…

给你一个网站,你如何测试?

首先&#xff0c;查找需求说明、网站设计 等相关文档&#xff0c;分析测试需求。 制定测试计划&#xff0c;确定测试范围和测试策略&#xff0c;一般包括以下几个部分&#xff1a; 功能性测试&#xff1b;界面测试&#xff1b;性能测试&#xff1b;数据库测试&#xff1b;安全…

AD如何查看PCB完成度?快来看这篇文

在Altium Designer&#xff08;AD&#xff09;中&#xff0c;很多工程师通过使用Design Rule Check&#xff08;DRC&#xff0c;常用于检查PCB设计是否符合设计规范和要求&#xff09;功能来检查PCB设计的完成度&#xff0c;但很多小白不太熟悉怎么去使用DRC&#xff0c;下面来…

深入浅出C语言—【函数】下

目录 5. 函数的嵌套调用和链式访问5.1嵌套调用5.2 链式访问 6. 函数的声明和定义6.1 函数声明6.2 函数定义 7. 函数递归&#x1f451;7.1 什么是递归&#xff1f;7.2 递归的两个必要条件7.2.1 练习17.2.2 练习2 7.3 递归与迭代7.3.1 练习37.3.2 练习4 5. 函数的嵌套调用和链式访…

解决Missing cookie ‘JssionId‘ for method parameter of type String问题

错误描述如下所示&#xff1a; 上述错误是我在使用CookieValue注解&#xff0c;获取cookieID时出现的&#xff0c;错误原因是由于**CookieValue注解注解中的value值和浏览器中的cookie的jssionID不一致所导致的** 如下所示为浏览器中的CookieID的参数名 而我在注解中写的如下图…

浪涌保护器行业应用防雷选型方案

当今社会中&#xff0c;电气设备的使用范围越来越广泛&#xff0c;也越来越普及&#xff0c;而与之相关的浪涌保护器就显得尤为重要。在这个领域&#xff0c;有一种高品质的浪涌保护器 —— 地凯防雷SPD浪涌保护器&#xff0c;它可以为各种设备提供强大的保护&#xff0c;并在各…

YOLOv5——pytorch环境搭建

环境搭建是一个最最基础而又基本的事情&#xff0c;是一切工作开始前的基本要求。 由于YOLOv7和YOLOv5不兼容&#xff0c;这次用到了YOLOv5&#xff0c;我不得不再使用anaconda创建一个虚拟环境。 Tip&#xff1a;很多人不了解Anaconda存在的意义&#xff0c;就是为了弥补pyt…

四、DML-1.数据操作-添加

一、DML介绍 Data Manipulation Language 数据操作语言 用来对数据库中表的数据记录进行增删改操作。 二、添加数据 1、给指定字段添加数据 insert into employee(id, workno, name, gender, age, idcard,entrydate) values (1, 001,Itcast, 男, 18, 123456789012345678, 2…

kaggle新赛:学生摘要评估大赛赛题解析(NLP)

赛题名称&#xff1a;CommonLit - Evaluate Student Summaries 赛题链接&#xff1a; https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/ 赛题背景 摘要写作是所有年龄段学习者的一项重要技能。总结可以增强阅读理解能力&#xff0c;特别是在第二…

SOLIDWORKS工程图模板如何设置?

SOLIDWORKS工程图模板是非常重要的&#xff0c;它可以帮助工程师快速创建符合公司规范的工程图纸。本文将介绍SOLIDWORKS工程图模板的基本知识&#xff0c;包括如何创建和使用模板。 一、创建SOLIDWORKS工程图模板 首先&#xff0c;我们需要打开SOLIDWORKS软件&#xff0c;并选…

MySQL高阶语句之二

目录 ​编辑 一、子查询 1.1语法 1.2select 1.3insert 1.3update 1.4delete 1.5 exists 1.6别名as 二、MySQL视图 2.1功能 2.2区别 2.3联系 2.4 创建视图(单表) 2.5 创建视图(多表) 2.6修改原表数据 2.7修改视图数据 三、NULL值 一、子查询 子查询也被称作内查询…