公有云迁移研究——AWS DMS

大纲

  • [1 什么是DMS](#1 什么是DMS)
  • [2 DMS的作用](#2 DMS的作用)
  • [3 DMS在迁移的时候都做些什么](#3 DMS在迁移的时候都做些什么)
  • [4 在使用DMS的时候我们需要做些什么](#4 在使用DMS的时候我们需要做些什么)
  • [5 操作](#5 操作)
    • [5.1 创建两个数据库终端节点](#5.1 创建两个数据库终端节点)
    • [5.2 创建迁移任务](#5.2 创建迁移任务)
  • [6 可能遇到的问题](#6 可能遇到的问题)
  • [7 总结](#7 总结)

在本地机房或其他云往AWS上做迁移时,往往会遇到数据库迁移的任务。如果数据量不是特别大,我们一般会使用AWS DMS做迁移。本文主要介绍下DMS的作用和应用,以及注意事项。

1 什么是DMS

AWS Database Migration Service (AWS DMS) 是一项云服务,可轻松迁移关系数据库、数据仓库、NoSQL数据库及其他类型的数据存储。您可以使用AWS DMS将数据迁移到AWS Cloud。

2 DMS的作用

它用于将数据从源数据存储迁移到目标数据存储。这两个数据存储称为终端节点 。您可在使用相同数据库引擎 的源和目标终端节点之间迁移。您也可在使用不同数据库引擎 的源和目标终端节点之间迁移。

需要注意的是:它不支持关系型数据库到非关系型数据库直接的迁移。

3 DMS在迁移的时候都做些什么

  • DMS会 创建出表结构
  • DMS会 创建出主键 和唯一索引
  • DMS不会 创建二级索引
  • DMS不会 创建非主键约束
  • DMS不会 创建默认值

4 在使用DMS的时候我们需要做些什么

  • 在使用DMS的时候,DMS会将数据原封不动的迁移到目标数据库上。DMS在创建出数据表结构以后,我们需要修复数据库的二级索引,非主键约束和一些字段的默认值。
  • 我们还可以创建数据库迁移任务,来实现对数据库的持续迁移。这样我们在项目迁移中保证了线上数据的一致性,迁移完成后方便做数据库层面的切割。

5 操作

5.1 创建两个数据库终端节点

5.2 创建迁移任务

这样迁移任务就创建好了,这时候我们只需要关注迁移任务是否出错。并在结束后修复表的二级索引、非主键约束和字段默认值。

6 可能遇到的问题

问题:迁移完成后部分查询出错和查询变慢。

解决:因为DMS不会迁移源的外键、二级索引和字段默认值,需要在数据迁移后,手工修复上述结构问题。修完后,服务得到了恢复,查询速度也会恢复正常。

7 总结

  • 在平时开发项目的时候尽量少用外键约束,这样会增加数据库迁移的复杂度和数据修复的复杂度。
  • 迁移完成后要对数据库的表结构进行检查,这样可以降低迁移带来的各种系统灾难。
相关推荐
DolitD17 小时前
UE像素流与云渲染技术方案对比分析
3d·云原生·ue5·云计算·图形渲染
天府云创19 小时前
面向 Personal Agent 增强长期记忆与个性化能力,阿里云升级Memory 服务
阿里云·云计算·memory·agent智能体·长期记忆·personal agent
yunlaodacom20 小时前
AWS亚马逊云代理商:WAF登录接口请求洪泛,限速阈值怎么设置?
云计算·aws
长不大的杨瑞杰20 小时前
OpenCode v2 配置工程实战:Config 优先级、JSONC、变量替换与多环境治理
人工智能·安全·云计算·软件工程·devops
longzhizhui92621 小时前
Ubuntu 全版本 CVE-2026-98432 内核安全升级操作手册
ubuntu·网络安全·云计算·bash
yunlaodacom1 天前
做异地灾备,华为云国际站 OBS 跨地域复制该怎么配置?
安全·华为云·云计算
Elastic 中国社区官方博客1 天前
AgentHack Shanghai|基于阿里云AI搜索 Elasticsearch x Qoder 构建AI Agent应用
大数据·人工智能·elasticsearch·搜索引擎·阿里云·云计算·全文检索
知已难寻2 天前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
会议咨询2 天前
2027年云计算、机电一体化与电子通信国际会议(CMEC 2027)
云计算·机电一体化·电子通信
云老大-阿里云国际站代理商2 天前
阿里云国际站服务代理商:CDN出现404,ECS源站正常怎么排查?
阿里云·云计算