如果你还在停服迁移数据,那你就out啦!!

简介: 很多数据库提供的原生迁移工具只能进行全量数据拷贝,为了保证迁移数据一致性,要求业务在数据迁移之前需停止服务。所以这种传统的迁移方案对业务影响极大。为降低数据迁移门槛,阿里云数据传输DTS推出不停服迁移功能。使用不停服迁移功能,可实现整个数据迁移过程中,业务停服时间降低到分钟级别

简介

数据库迁移是系统发展各个阶段,都会遇到的问题。例如数据库压力达到瓶颈需要拆分,业务系统需要迁移上云,测试数据构造等。很多数据库都提供了原生的迁移工具,例如MySQL的mysqldump,SQLServer的SSMA,Oracle的imp/exp。然而这些工具都只能进行全量数据拷贝,为了保证迁移数据一致性,要求业务在数据迁移之前需要停止服务。所以,这种传统的迁移方案对业务影响极大。为降低数据迁移门槛,阿里云数据传输DTS推出不停服迁移功能。使用不停服迁移功能,可实现整个数据迁移过程,业务停服时间降低到分钟级别

传统数据库迁移流程

本小节简单介绍传统全量迁移方案的整个数据迁移流程。
_

如上图所示,传统数据库迁移流程包括以下几个步骤:
(1) 应用停止服务
(2) 使用工具开始进行数据迁移
(3)启动应用,重新提供服务

所以,整个数据迁移过程当中,应用需要全程停服。如果数据量比较大的情况下,整个应用停服时间可能高达几个小时甚至数天,这对应用影响极大。

不停服数据库迁移流程

本小节简单介绍数据传输DTS提供的增量迁移方案的整个数据迁移流程。
_

如上图所示,数据传输DTS提供的不停服迁移流程包括以下几个步骤:
(1) 使用DTS,配置数据迁移任务
(2) 迁移任务进入增量数据同步阶段时,当增量数据追平后,将源库应用停服,数据同步快速追平后,将业务切换到目标数据库,启动业务开启服务

所以,整个数据迁移过程当中,应用只需要在要切换之前停服,停服时间降低到分钟级别,极大得降低了数据迁移对业务的影响。

不停服数据库迁移技术原理

本小节简单介绍数据传输DTS提供的不停服迁移的实现原理。

_

如上如所示,DTS在全量迁移之前,会先在后台启动一个增量日志拉取及解析程序。这个程序会实时获取源数据库在全量迁移过程中产生的任何增量日志,解析并将其封装为DTS自己的数据格式存储在本地存储系统中。当全量迁移完成后,增量数据回放模块,会去拉取模块中读取存储的增量日志数据,然后通过解析、过滤、封装等步骤,最终拼装成要回放的SQL语句,回放到目标数据库,从而实现源数据库同目标数据库之间的增量数据实时同步。

小结

不停服迁移功能是阿里云数据传输DTS提供的低门槛数据迁移方式。目前可以实现MySQL、SQLServer、PostgreSQL的不停服迁移,未来DTS还将提供Oracle、MongoDB、Redis的不停服迁移功能。立即体验 >>

不停服迁移功能只是数据传输DTS提供的一种迁传输方式,除数据迁移之外,数据传输还提供了数据实时同步,实时数据订阅等多种传输能力,通过数据实时同步可以实现数据异地灾备 ,加速跨境业务访问速度 ,打通oltp->olap数据通道 等场景。通过数据订阅可以实现轻量级缓存更新 、核心业务异步解耦 等业务场景。如需了解数据传输更多详情,请猛击数据传输

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
10月前
|
JavaScript 数据可视化 测试技术
Node.js 性能诊断利器 Clinic.js:原理剖析与实战指南
Clinic.js 是由 NearForm 开发的 Node.js 性能诊断工具集,通过可视化、低开销的方式帮助开发者快速定位 CPU 高占用、事件循环延迟、内存泄漏等性能瓶颈。它包含三大核心工具:`doctor` 初筛异常,`flame` 分析 CPU 热点,`bubbleprof` 追踪异步 I/O 延迟。基于 `perf_hooks`、`async_hooks` 等技术,实现多维度数据关联与智能建议,适用于预发环境压测与性能优化,显著提升调试效率。
862 14
|
人工智能 自然语言处理 安全
学不会编程也能写测试?AI让测试更平权
在传统的软件开发体系中,测试常被划分为“技术型测试”(如自动化、性能、安全)和“业务型测试”(如功能验证、用户体验)。前者掌握技术话语权,后者则更多依赖经验和流程规范。然而,随着大语言模型(LLM)等AI技术的迅猛发展,这一固有格局正被悄然打破:
554 10
|
人工智能 搜索推荐 Docker
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
DeepSeek R1 + LobeChat + Ollama:快速本地部署模型,创建个性化 AI 助手
8665 119
手把手教你使用 Ollama 和 LobeChat 快速本地部署 DeepSeek R1 模型,创建个性化 AI 助手
|
Java API 微服务
2025 年 Java 核心技术全面升级与实战应用详解
这份Java校招实操内容结合了最新技术趋势,涵盖核心技术、微服务架构、响应式编程、DevOps及前沿技术等六大模块。从函数式编程到Spring Cloud微服务,再到容器化与Kubernetes部署,帮助你掌握企业级开发技能。同时,提供AI集成、区块链实践和面试技巧,包括高频算法题与系统设计案例。通过学习这些内容,可应对90%以上的Java校招技术面试,并快速上手实际项目开发。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
1141 41
|
机器学习/深度学习 数据采集 运维
构建基于机器学习的异常检测系统
【6月更文挑战第7天】构建基于机器学习的异常检测系统,通过收集和预处理数据,进行特征提取和选择,然后选择SVM、随机森林等算法训练模型。评估指标包括准确率、召回率、F1值,旨在识别安全威胁、系统故障等异常,保障系统稳定。未来将持续优化性能并探索新技术。
|
关系型数据库 MySQL 数据库
MySQL8.0.36 安装配置教程(保姆级,包含图文讲解,环境变量的配置)适合小白
MySQL8.0.36 安装配置教程(保姆级,包含图文讲解,环境变量的配置)适合小白
|
前端开发 调度 开发者
React18中批量更新以减少渲染次数
React18中批量更新以减少渲染次数
775 1
|
存储 缓存 算法
NAND FLASH 和NOR FLASH的区别
NAND FLASH 和NOR FLASH的区别
628 0
|
安全 物联网 开发工具
MQTT 非匿名登陆配置 | 学习笔记
快速学习 MQTT 非匿名登陆配置
MQTT 非匿名登陆配置 | 学习笔记