AWS DMS基础知识

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.mzph.cn/news/891816.shtml

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

相关文章

什么是Kafka的重平衡机制?

Kafka 的重平衛机制是指在消费者组中新增或删除消费者时,Kafka 集群会重新分配主题分区给各个消费者,以保证每个消费者消费的分区数量尽可能均衡。 重平衡机制的目的是实现消费者的负载均衡和高可用性,以确保每个消费者都能够按照预期的方式…

Nginx——反向代理(三/五)

目录 1.Nginx 反向代理1.1.Nginx 反向代理概述1.2.Nginx 反向代理的配置语法1.2.1.proxy_pass1.2.2.proxy_set_header1.2.3.proxy_redirect 1.3.Nginx 反向代理实战1.4.Nginx 的安全控制1.4.1.如何使用 SSL 对流量进行加密1.4.2.Nginx 添加 SSL 的支持1.4.3.Nginx 的 SSL 相关指…

VBA(Visual Basic for Applications)编程|excel|一系列网址或文件路径快速转换为可点击的超链接

很多时候,我们需要把导入的数据某一列转换成超链接,比如URL形式的列。 那么,大批量的情况下,无疑一个个手动点击是非常愚蠢的办法,这个时候我们就需要VBA编程来编写宏,通过编写宏来简化这些手动操作并不现…

【C++】图像模糊处理题目详解与实现

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述题目内容输入格式输出格式示例输入:输出: 💯题目分析问题拆解 💯我的做法代码实现代码分析 💯老师的做法…

在 Ubuntu 22.04 上部署 AppArmor 应用安全教程

在这篇教程中,我们将为你设置 AppArmor 以增强应用程序的安全性。 AppArmor 是一个 Linux 安全模块,允许你限制各个程序的功能。通过强制执行强制访问控制策略,AppArmor 增强了你的应用程序和系统的安全性。 AppArmor 是一个易于使用的 Lin…

Nginx:动静分离

什么是动静分离? 动静分离 是指将网站中的静态资源(如图片、样式表、脚本等)和动态内容(如 PHP、Python、Node.js 等后端生成的内容)分开部署和处理。这样做的好处是可以利用不同的服务器或缓存策略来优化不同类型的资源。 动静分离的好处 提高性能:静态资源可以直接从…

每天40分玩转Django:Django插件开发

Django插件开发 一、插件开发概述表 阶段主要任务技术要点难度准备工作项目结构设计、环境配置项目布局、setup.py★★★☆☆开发实现功能开发、测试编写Django AppConfig、Signals★★★★☆文档编写API文档、使用说明Markdown、reStructuredText★★★☆☆发布部署PyPI打包…

什么是TDD测试驱动开发(Test Driven Development)?

什么是测试驱动开发? 软件开发团队通常会编写自动化测试套件来防止回归。这些测试通常是在编写应用程序功能代码之后编写的。我们将采用另一种方法:在实现应用程序代码之前编写测试。这称为测试驱动开发 (TDD)。 为什么要应用 TDD?通过在实…

后台管理系统用户退出登录方案实现

退出登录一直是一个通用的前端实现方案,对于退出登录而言,它的触发时机一般有两种: 1. 用户主动退出,即用户点击登录按钮之后退出; 2. 用户被动退出,Token过期或被 其他人"顶下来" 时退出&…

文献分享:BGE-M3——打通三种方式的嵌入模型

文章目录 1. \textbf{1. } 1. 背景与导论 1.1. \textbf{1.1. } 1.1. 研究背景 1.2. \textbf{1.2. } 1.2. 本文的研究 1.3. \textbf{1.3. } 1.3. 有关工作 2. M3-Embedding \textbf{2. M3-Embedding} 2. M3-Embedding 2.1. \textbf{2.1. } 2.1. 模型核心: 混合检索方式 2.1.1. \…

Hadoop•FinalShell连接VMware免密登录

听说这是目录哦 FinalShell连接VMware🌤️解决重连失效FinalShell的使用 免密登录⛈️能量站😚 FinalShell连接VMware🌤️ 保持虚拟机的开机状态,打开FinalShell,如果虚拟机关机或者挂起,连接就会断开。 …

一个在ios当中采用ObjectC和opencv来显示图片的实例

前言 在ios中采用ObjectC编程利用opencv来显示一张图片,并简单绘图。听上去似乎不难,但是实际操作下来,却不是非常的容易的。本文较为详细的描述了这个过程,供后续参考。 一、创建ios工程 1.1、选择ios工程类型 1.2、选择接口模…

《Rust权威指南》学习笔记(五)

高级特性 1.在Rust中,unsafe是一种允许绕过Rust的安全性保证的机制,用于执行一些Rust默认情况下不允许的操作。unsafe存在的原因是:unsafe 允许执行某些可能被 Rust 的安全性检查阻止的操作,从而可以进行性能优化,如手…

【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 3:算法实现

目录 1 三种多头编码(MHE)实现1.1 多头乘积(MHP)1.2 多头级联(MHC)1.3 多头采样(MHS)1.4 标签分解策略 论文:Multi-Head Encoding for Extreme Label Classification 作者…

docker中使用Dockerfile设置Volume挂载点

关于在docker中如何使用Volume,可以参考文章: docker中使用Volume完成数据共享-CSDN博客 如果想在生成docker镜像的时候设置好挂载点,而不是在运行镜像生成容器时生成。 下面以自建一个tomcat镜像为例,演示如何在生成镜像时设置…

springboot548二手物品交易boot代码(论文+源码)_kaic

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统二手物品交易信息管理难度大,容错率低&#x…

通往O1开源之路

“Scaling of Search and Learning: A Roadmap to Reproduce o1 from Reinforcement Learning Perspective”由复旦大学和上海人工智能实验室的研究者撰写。该论文从强化学习视角出发,深入分析了实现类似OpenAI o1模型性能的路线图,聚焦于策略初始化、奖…

SD下载、安装、使用、卸载-Stable Diffusion整合包v4.10发布!

目录 前言概述 SD安装1、安装软件2、启动3、配置4、运行5、测试 导入SD模型【决定画风】常用模型下载安装模型 SD卸载SD文生图提示词提示词使用技巧提示词的高级使用技巧强调关键词 前言 我向来不喜欢搞一些没有用的概念,所以直接整理可能用到的东西。 sd简单的说…

Mac iTerm2集成DeepSeek AI

1. 去deepseek官网申请api key,DeepSeek 2. 安装iTerm2 AI Plugin插件,https://iterm2.com/ai-plugin.html,插件解压后直接放到和iTerms相同的位置,默认就在/Applications 下 3. 配置iTerm2 4. 重启iTerm2,使用快捷键呼出AI对话…

MySQL数据库笔记——多版本并发控制MVCC

大家好,这里是Good Note,关注 公主号:Goodnote,本文详细介绍MySQL的并发控制:多版本并发控制MVCC。 文章目录 背景介绍数据库并发控制——锁机制悲观锁和乐观锁悲观锁乐观锁 数据库并发控制——MVCC 的引入MVCC 和锁机…