AWS DMS基础知识

news2025/1/7 20:28:55

1.AWS Database Migration Service (DMS) 概述

  • AWS DMS 定义:它能助力以最少停机时间把数据库迁移至 AWS,支持同构(如 Oracle 到 Oracle)、异构(如 Oracle 到 PostgreSQL )迁移。
  • 常见用例:涵盖将本地数据库迁移至 AWS 、数据库间复制数据用于备份或容灾、混合架构的持续数据复制。
  • 关键特性:适配多种源和目标数据库,支持变更数据捕获(CDC)以持续复制数据变动,迁移期间停机时间极少。
    • 目的:AWS DMS 有助于将数据库从本地或云数据库迁移到 AWS,从而最大限度地减少停机时间。
    • 支持的数据库类型:DMS 支持同构和异构迁移(例如,从 Oracle 迁移到 Oracle,从 MySQL 到 Aurora)。
    • 使用案例
      • 将数据库迁移到 Amazon RDS 或 Amazon EC2。
      • 复制数据以进行实时分析(例如,复制到 Amazon Redshift 或 Amazon S3)。

2.DMS 组件

  • 复制实例:管理迁移过程的计算资源。
  • 源和目标终端节点:源和目标数据库(例如 RDS、Aurora、SQL Server、MySQL、PostgreSQL)。
  • 复制任务: 定义数据迁移和复制过程(完全加载和/或持续复制)。

3.支持的数据库

  • 源数据库:Amazon RDS、Amazon Aurora、MySQL、MariaDB、PostgreSQL、Oracle、Microsoft SQL Server、MongoDB 等。
  • 目标数据库:Amazon RDS、Amazon Aurora、Amazon Redshift、Amazon S3(用于数据湖)、DynamoDB 等。

4.迁移策略

  • 同构迁移:在相同的数据库引擎之间迁移数据(例如,从 MySQL 迁移到 MySQL)。
  • 异构迁移:在不同数据库引擎之间迁移数据(例如,从 Oracle 迁移到 PostgreSQL)。
  • 持续复制:连续数据复制,用于在初始迁移后保持源和目标同步。
  • 完全加载和变更数据捕获 (CDC):完全加载最初传输所有数据,而 CDC 仅复制之后的更改。

5.复制任务类型

  • Full Load:将所有数据从源迁移到目标。
  • 变更数据捕获 (CDC)**:在初始加载后复制对源数据库所做的更改。
  • 满载 + CDC:结合满载和连续数据复制。

6.DMS 限制

  • 延迟:某些数据类型(如大型 BLOB)可能具有更高的延迟。
  • 支持的数据类型: 并非每个源/目标数据库组合都支持所有数据类型。您应该熟悉 DMS 为特定源和目标支持哪些数据类型。
  • 复杂迁移:某些转换(例如,复杂架构映射)可能需要其他服务(如 AWS 架构转换工具 - SCT)。

7.DMS 安全功能

  • 加密:DMS 支持对传输中的数据和静态数据进行加密。
  • 网络安全:与 VPC、安全组和 IAM 角色集成。
  • IAM 角色管理:DMS 需要适当的权限才能与数据库、S3、Redshift 和其他 AWS 服务交互。
  • SSL/TLS:DMS 支持使用 SSL/TLS 加密连接到数据库。

8.DMS 的最佳实践

  • 监控和日志记录:使用 Amazon CloudWatch 监控复制任务的状态。
  • 调整复制实例:确保复制实例的大小适合数据量和复制工作负载。
  • 使用多可用区:为了实现高可用性,请在多个可用区中使用复制实例。
  • 测试迁移:在迁移到生产环境之前,请始终在非生产环境中测试迁移。

9.DMS 和 AWS Schema Conversion Tool (SCT)

  • 架构转换:AWS SCT 通常与 DMS 结合使用,用于异构数据库迁移(例如,从 Oracle 迁移到 PostgreSQL)。
  • 数据类型转换:SCT 有助于转换数据库架构对象,例如表、视图和存储过程。

10.DMS 监控和故障排除

  • CloudWatch 指标:使用 CloudWatch 指标和日志监控复制任务。
  • 错误处理:解释和修复 DMS 日志中的常见错误,包括网络连接、数据库访问和数据转换问题。

11.DMS 迁移性能

  • 性能优化:通过选择合适的实例大小并调整复制设置来确保高效的数据迁移。
  • 吞吐量注意事项:了解迁移任务的吞吐量指标,尤其是在迁移大型数据集时。
  • 数据转换:数据转换(例如,将 AWS Lambda 与 DMS 结合使用)如何影响迁移性能。

12.组件

  • DMS 复制实例:作为运行复制任务的计算资源,负责处理从源数据库到目标数据库的数据迁移流程。
  • 复制任务:是复制作业的一组指令,像全量加载、全量加载并持续复制、仅持续复制这些模式。
  • 端点:用于定义源和目标数据库(可以是本地或 AWS 内的),包含数据库类型、连接字符串、凭证等信息。

13.迁移类型

  • 全量数据加载:一次性将源数据库的所有数据迁移至目标数据库。
  • 持续数据复制(CDC):全量加载完成后,源数据库的变更会持续复制到目标库。
  • 全量加载与持续复制结合:先全量加载,后续变动接着复制,是常用方式。

14.监控与排错

  • CloudWatch 指标:DMS 与 CloudWatch 集成,提供复制延迟、数据传输速度、任务状态、错误等指标用于监控。
  • DMS 控制台与日志:控制台能追踪复制任务状态,日志有助于排查数据迁移中的问题。

15.安全

  • 加密:支持静态加密(借助 KMS )和传输加密(用 SSL/TLS )。
  • VPC 与网络配置:复制实例应置于 VPC 内保障通信安全,跨 AWS 和本地迁移时尤为关键。
  • IAM 角色与权限:利用 IAM 角色给 DMS 赋予访问源/目标数据库、S3 或 CloudWatch 等服务的权限。

16.性能调优

  • 复制实例大小调整:实例规模要适配迁移数据量,降低复制延迟。
  • 网络考量:带宽、网络延迟影响迁移性能,大数据集时需调整网络速度与复制实例类型。

17.与 AWS 服务集成

  • 与 S3 集成:S3 可充当迁移的中间存储位置。
  • 与 RDS 和 Aurora:常见从本地或其他 AWS 数据库向它们迁移。
  • 与 Schema Conversion Tool (SCT):异构迁移时,SCT 转换数据库模式,再由 DMS 转移数据。

18.高可用与容错

  • 多可用区复制:复制实例能部署在多可用区实现高可用。
  • 故障转移机制:复制实例出故障时,任务可自动重定向到备用实例。

19.注意事项

  1. 迁移规划
  • 依据源和目标数据库类型、数据量、停机时间要求来选定迁移类型与策略,像关键业务不容许长时间停机,就首选全量加载加持续复制。
  • 异构迁移提前规划好数据库模式转换,借助 SCT 排查潜在兼容性问题。
  1. 组件配置
  • 配置复制实例时,精准预估数据量与性能需求,过小会卡顿,过大则成本高;后续也可按需调整大小。
  • 端点设置时,反复核对连接字符串、凭证等信息准确性,错一个字符都可能导致连接失败。
  1. 监控与维护
  • 迁移全程紧密关注 CloudWatch 指标和控制台日志,发现延迟、错误等异常及时排查处理。
  • 定期评估性能,按需优化复制实例规格、网络配置,保障长期稳定运行。
  1. 安全部署
  • 加密配置别遗漏,传输与静态加密都开启,保护数据隐私与安全。
  • 网络安全上,谨慎设置 VPC 与安全组规则,只开放必要端口与访问权限。
  • IAM 角色权限分配遵循最小化原则,避免权限过度授予引发安全风险。

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

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

相关文章

计算机毕业设计Python电商品推荐系统 商品比价系统 电商比价系统 商品可视化 商品爬虫 机器学习 深度学习 京东爬虫 国美爬虫 淘宝爬虫 大数据

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

BBP飞控板中的坐标系变换

一般飞控板中至少存在以下坐标系: 陀螺Gyro坐标系加速度计Acc坐标系磁强计Mag坐标系飞控板坐标系 在BBP飞控板采用的IMU为同时包含了陀螺(Gyro)及加速度计(Acc)的6轴传感器,故Gyro及Acc为同一坐标系。同时…

企业网络综合组网

1 概述 2 网络需求分析 2.1企业需求分析 公司规模 员工规模:200人,其中包括技术研发人员,市场营销人员,运营管理人员,客户服务人员等。部门数量:19个部门,包括财务部,人力资源部…

【沉默的羔羊心理学】汉尼拔的“移情”游戏:操纵与理解的艺术,精神分析学视角下的角色互动

终极解读《沉默的羔羊》:弗洛伊德精神分析学视角下的深层剖析 关键词 沉默的羔羊弗洛伊德精神分析学角色心理意识与潜意识性别与身份 弗洛伊德精神分析学简介 弗洛伊德的精神分析学是心理学的一个重要分支,主要关注人类行为背后的无意识动机和冲突。…

Qt窗口获取Tftpd32_svc服务下载信息

前言 一个由Qt开发的Windows小工具需要布置Tftp协议服务端来支持设备下载数据,并显示下载列表(进度、下载源等)。 考虑开发方便,优先使用了Qtftp方案,经测试发现,不够稳定,会有下载超时的情况&a…

合合信息亮相CSIG AI可信论坛,全面拆解AI视觉内容安全的“终极防线”

合合信息亮相CSIG AI可信论坛,全面拆解视觉内容安全的“终极防线”! 🐯 AI伪造泛滥,我们还能相信“眼见为实”吗? 近期,由中国图象图形学学会主办的CSIG青年科学家会议 AI可信论坛在杭州成功举办。本次论…

Bash Shell的操作环境

目录 1、路径与指令搜寻顺序 2、bash的进站(开机)与欢迎信息:/etc/issue,/etc/motd (1)/etc/issue (2)/etc/motd 3、bash的环境配置文件 (1)login与non-…

如何在没有 iCloud 的情况下将联系人从 iPhone 传输到 iPhone

概括 近期iOS 13.5的更新以及苹果公司发布的iPhone SE在众多iOS用户中引起了不小的轰动。此外,不少变化,如暴露通知 API、Face ID 增强功能以​​及其他在 COVID-19 期间与公共卫生相关的新功能,吸引了 iPhone 用户尝试新 iPhone 并更新到最…

网站设计总结后期维护与更新的重要性

当我们谈论网站设计时,往往会聚焦在初始阶段的创意和实现上。然而,一旦网站建成并上线,后期维护与更新的重要性就显得尤为突出。一个网站的成功不仅取决于其初始设计,更在于持续的维护与更新。 首先,后期维护能够确保网…

Android NDK开发实战之环境搭建篇(so库,Gemini ai)

文章流程 音视频安卓开发首先涉及到ffmpeg编译打包动态库,先了解动态库之间的cpu架构差异性。然后再搭建可运行的Android 环境。 So库适配 ⽇常开发我们经常会使⽤到第三库,涉及到底层的语⾳,视频等都需要添加so库。⽽so库的体积⼀般来说 ⾮…

数据仓库中的指标体系模型介绍

数据仓库中的指标体系介绍 文章目录 数据仓库中的指标体系介绍前言什么是指标体系指标体系设计有哪些模型?1. 指标分层模型2. 维度模型3. 指标树模型4. KPI(关键绩效指标)模型5. 主题域模型6.平衡计分卡(BSC)模型7.数据指标框架模…

unity学习11:地图相关的一些基础

目录 1 需要从 unity的 Asset Store 下载资源 1.1 下载资源 1.2 然后可以从 package Manager 里选择下载好的包,import到项目里 2 创建地形 2.1 创建地形 2.2 地形 Terrain大小 2.3 各种网格的尺寸大小 2.4 比较这个地形尺寸和创建的其他物体的大小对比 3 …

jenkins入门--安装jenkins

下载地址https://www.jenkins.io/ jdk 安装 :Jenkins需要安装对应版本的jdk,我在安装过程中显示需要21,17 Java Downloads | Oracle jenkins安装过程参考全网最清晰Jenkins安装教程-windows_windows安装jenkins-CSDN博客 安装完成后,浏览器输入127.0.…

第0章 机器人及自动驾驶SLAM定位方法全解析及入门进阶学习建议

嗨,各位同学大家好!笔者自985硕士毕业后,在机器人算法领域已经深耕 7 年多啦。这段时间里,我积累了不少宝贵经验。本专栏《机器人工程师带你从零入门SLAM》将结合下面的SLAM知识体系思维导图及多年的工作实战总结,将逐…

springCloud 脚手架项目功能模块:Java分布式锁

文章目录 引言分布式锁产生的原因:集群常用的分布式锁分布式锁的三种实现方式I ZooKeeper 简介zookeeper本质上是一个分布式的小文件存储系zookeeper特性:全局数据一致性ZooKeeper的应用场景分布式锁(临时节点)II 基于ZooKeeper 实现一个排他锁创建锁获取锁释放锁Apache Zo…

如何配置【Docker镜像】加速器+【Docker镜像】的使用

一、配置Docker镜像加速器 1. 安装/升级容器引擎客户端​ 推荐安装1.11.2以上版本的容器引擎客户端 2. 配置镜像加速器​ 针对容器引擎客户端版本大于1.11.2的用户 以root用户登录容器引擎所在的虚拟机 修改 "/etc/docker/daemon.json" 文件(如果没有…

Docker- Unable to find image “hello-world“locally

Docker- Unable to find image “hello-world“locally 文章目录 Docker- Unable to find image “hello-world“locally问题描述一. 切换镜像1. 编辑镜像源2. 切换镜像内容 二、 检查设置1、 重启dockers2、 检查配置是否生效3. Docker镜像源检查4. Dokcer执行测试 三、自定义…

go项目zero框架中用gentool解决指定MYSQL表生成结构体被覆盖的解决方案

在使用 GoZero 框架进行项目开发时,gentool 是一个非常方便的工具,它可以根据数据库表结构自动生成 Go 语言结构体和其他相关文件。然而,在使用 gentool 生成结构体时,可能会遇到一个问题:如果多次运行 gentool&#x…

深入Android架构(从线程到AIDL)_11 线程之间的通信架构

目录 5、 线程之间的通信架构 认识Looper与Handler对象 主线程丢信息给自己 子线程丢信息给主线程 替子线程诞生Looper与MQ 5、 线程之间的通信架构 认识Looper与Handler对象 当主线程诞生时,就会去执行一个代码循环(Looper),以便持续监视它的信息…

今日自动化编辑部今日自动化杂志社2024年第19期部分目录

智能控制技术 无人机视觉支持下的输电线路安全距离巡检系统探究 贺凌飞 王骋昊1-2,36 基于虚拟现实技术的安全警示系统设计 黄奇 李光辉 徐奎 许兆辉3-5 火焰自动焊接技术对泄漏率的影响研究 孙天鸽5-7 PLC在闸门自动化控制系统中的应用 黎芳8-9,23 智能控制算法在二次供水系统…