AWS数据库上云最佳实践
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AWS数据库上云最佳实践
AWS Database Migration Services 技术
日程
我们的产品组合
广泛而深入的产品组合,精确构建
商业智能和机器学习
分析
QuickSight
Redshift
数据仓库
EMR
Hadoop + Spark
Elasticsearch Service
运营分析
Athena
SageMaker
Blockchain
DynamoDB
键值
ElastiCache
Redis, Memcached
Neptune
图
DocumentDB
文件
QLDB
分类账数据库
时间流
时间序列
Managed Blockchain
Blockchain Templates
Glue
ETL和数据目录
数据移动
Database Migration Service | Snowball | Snowmobile | Kinesis Data Firehose | Kinesis DataStreams
运营分析
业务智能
我的数据该如何上云
服务组件
数据库迁移服务 AWS Schema Conversion Tool
本地数据库迁移至AWS云上 转换数据库产品 数据库对象转换 几乎为零的停机时间
服务迁移阶段
定制化
迁移现有数据
持续复制
介绍
定制化
• 定制化您的数据库
把Oracle, SQL Server, 或 Db2 转化为 PostgreSQL, MySQL, 或 Amazon Aurora
特性 – 几乎零宕机迁移
AWS DMS
客户 场所
VPN
AWS
网络
启动复制实例 连至源数据库和目标数据库 选择表格、模式或数据库
应用程序用户
让AWS DMS创建表格、加载数 据,并使其保持同步
在方便时将应用程序切换至目标
操作界面
操作界面
操作界面
最佳实践 - 跨数据库产品
数据类型 – 请在DMS官方文档查阅所支持的数据类型。 数据库发行版本 – 商业数据库版本限制。 DDL语句 – 不同数据库产品所支持的DDL语句有所差异,比如MySQL作为目标时,不支持 TRUNCATE PARTITION、DROP TABLE 和 RENAME TABLE。 用户、模式、库之间的转换 – 不同数据库产品,对于用户、模式、库的使用方式有很大差别, 比如定位一张表,Oracle是库.模式.表;MySQL是用户.库.表;PostgreSQL是用户(角色).库. 模式.表 时间格式 – 通常字符串类型varchar、数字类型int的用法大同小异,还请注意不同数据库产 品对于时间类型的格式有差别,需要调整代码。
• 定制化您的数据仓库
把Oracle, SQL Server, Netezza, Greenplum, Vertica, 或 Teradata 转化为 Amazon Redshift
MySQL
Amazon Aurora
PostgreSQL
Amazon Redshift
介绍
SCT用来转换对象:
介绍
迁移现有数据
• 不需要停机 • 不影响原有数据 • 不需要安装代理、插件 • 跨数据库产品自动转换 • 支持数据合并、拆分 • 不仅仅是关系型数据库
Amazon Redshift
Amazon RDS
Amazon S3 Amazon
DynamoDB
Amazon Aurora
架构
D
M
日志
S
特性 - 数据合并、拆分
开启多任务task – 对于同一个复制项目,可以开启多task以增加并行度。请注意每个task所包 含的表,都应该处于同一个事务中,即不要出现这种情况:表A、表B在同一个事务中,但是分 配到了不同的task中。
LOB – 检查源端LOB字段的最大值,使用“受限的 LOB 模式”迁移LOB。
场景 – 迁移生产数据
D
M S
Amazon Aurora
D
M S
Amazon Aurora
源自文库
Amazon Aurora 跨region
Amazon RDS
特性 -不仅仅是关系数据库
Amazon RDS
D
M S
Amazon S3 Dynamodb
特性 - 持续复制
持续复制
• 读取源端日志 • 迅速的同步至目标端 • 实时数据验证
最佳实践 - 提高性能
表设置 – 添加主键。
迁移的项目– DMS仅迁移表、数据、主键索引,适度添加目标端二级索引。
并行度 – DMS默认是8张表并行加载,可以提升此值,同时根据复制实例的性能情况加大复制 实例的机型,过大的并行数量反而会降低复制速度。
降低目标端的瓶颈 – 关闭目标端的约束、日志记录、备份,加载完数据后再逐步开启。
三个阶段
将现有应用程序“提取和 更换”至云
在云中快速构建新的 应用程序
获得新的见解
客户想提取和更换至云
Aurora
RDS DynamoDB DocumentDB Redshift
EMR
ElasticSearch Service
QuickSight
关系数据库
非关系数据库
数据仓库
Hadoop和Spark
最佳实践 - 跨数据库产品
最佳实践 - 跨数据库产品
最佳实践 - 数据验证
表完全加载后,立即开始验证 对于持续复制的任务,对比所有增删改 选用大内存实例 详细报告源端与目标端不匹配的数据行 会把详细内容记录在目标端表中:awsdms_validation_failures_v1 select * from "awsdms_validation_failures_v1“; SCOTT PEOPLE Row {"key": ["111"]} 记录目标丢失 {"key": ["4"]} source column : ‘NAME’, value : ‘Super333’ 与目标列不匹配:‘lalala’
交互式分析
Kinesis Data Analytics 实时
S3/Glacier
Aurora
MySQL, PostgreSQL
RDS
MySQL, PostgreSQL, MariaDB, Oracle, SQL Server
RDS on VMware
数据湖
Lake Formation
数据湖
Databases
迁移示例
https://aws.amazon.com/cn/dms/resources/
AWS Database Migration Services 技术
日程
我们的产品组合
广泛而深入的产品组合,精确构建
商业智能和机器学习
分析
QuickSight
Redshift
数据仓库
EMR
Hadoop + Spark
Elasticsearch Service
运营分析
Athena
SageMaker
Blockchain
DynamoDB
键值
ElastiCache
Redis, Memcached
Neptune
图
DocumentDB
文件
QLDB
分类账数据库
时间流
时间序列
Managed Blockchain
Blockchain Templates
Glue
ETL和数据目录
数据移动
Database Migration Service | Snowball | Snowmobile | Kinesis Data Firehose | Kinesis DataStreams
运营分析
业务智能
我的数据该如何上云
服务组件
数据库迁移服务 AWS Schema Conversion Tool
本地数据库迁移至AWS云上 转换数据库产品 数据库对象转换 几乎为零的停机时间
服务迁移阶段
定制化
迁移现有数据
持续复制
介绍
定制化
• 定制化您的数据库
把Oracle, SQL Server, 或 Db2 转化为 PostgreSQL, MySQL, 或 Amazon Aurora
特性 – 几乎零宕机迁移
AWS DMS
客户 场所
VPN
AWS
网络
启动复制实例 连至源数据库和目标数据库 选择表格、模式或数据库
应用程序用户
让AWS DMS创建表格、加载数 据,并使其保持同步
在方便时将应用程序切换至目标
操作界面
操作界面
操作界面
最佳实践 - 跨数据库产品
数据类型 – 请在DMS官方文档查阅所支持的数据类型。 数据库发行版本 – 商业数据库版本限制。 DDL语句 – 不同数据库产品所支持的DDL语句有所差异,比如MySQL作为目标时,不支持 TRUNCATE PARTITION、DROP TABLE 和 RENAME TABLE。 用户、模式、库之间的转换 – 不同数据库产品,对于用户、模式、库的使用方式有很大差别, 比如定位一张表,Oracle是库.模式.表;MySQL是用户.库.表;PostgreSQL是用户(角色).库. 模式.表 时间格式 – 通常字符串类型varchar、数字类型int的用法大同小异,还请注意不同数据库产 品对于时间类型的格式有差别,需要调整代码。
• 定制化您的数据仓库
把Oracle, SQL Server, Netezza, Greenplum, Vertica, 或 Teradata 转化为 Amazon Redshift
MySQL
Amazon Aurora
PostgreSQL
Amazon Redshift
介绍
SCT用来转换对象:
介绍
迁移现有数据
• 不需要停机 • 不影响原有数据 • 不需要安装代理、插件 • 跨数据库产品自动转换 • 支持数据合并、拆分 • 不仅仅是关系型数据库
Amazon Redshift
Amazon RDS
Amazon S3 Amazon
DynamoDB
Amazon Aurora
架构
D
M
日志
S
特性 - 数据合并、拆分
开启多任务task – 对于同一个复制项目,可以开启多task以增加并行度。请注意每个task所包 含的表,都应该处于同一个事务中,即不要出现这种情况:表A、表B在同一个事务中,但是分 配到了不同的task中。
LOB – 检查源端LOB字段的最大值,使用“受限的 LOB 模式”迁移LOB。
场景 – 迁移生产数据
D
M S
Amazon Aurora
D
M S
Amazon Aurora
源自文库
Amazon Aurora 跨region
Amazon RDS
特性 -不仅仅是关系数据库
Amazon RDS
D
M S
Amazon S3 Dynamodb
特性 - 持续复制
持续复制
• 读取源端日志 • 迅速的同步至目标端 • 实时数据验证
最佳实践 - 提高性能
表设置 – 添加主键。
迁移的项目– DMS仅迁移表、数据、主键索引,适度添加目标端二级索引。
并行度 – DMS默认是8张表并行加载,可以提升此值,同时根据复制实例的性能情况加大复制 实例的机型,过大的并行数量反而会降低复制速度。
降低目标端的瓶颈 – 关闭目标端的约束、日志记录、备份,加载完数据后再逐步开启。
三个阶段
将现有应用程序“提取和 更换”至云
在云中快速构建新的 应用程序
获得新的见解
客户想提取和更换至云
Aurora
RDS DynamoDB DocumentDB Redshift
EMR
ElasticSearch Service
QuickSight
关系数据库
非关系数据库
数据仓库
Hadoop和Spark
最佳实践 - 跨数据库产品
最佳实践 - 跨数据库产品
最佳实践 - 数据验证
表完全加载后,立即开始验证 对于持续复制的任务,对比所有增删改 选用大内存实例 详细报告源端与目标端不匹配的数据行 会把详细内容记录在目标端表中:awsdms_validation_failures_v1 select * from "awsdms_validation_failures_v1“; SCOTT PEOPLE Row {"key": ["111"]} 记录目标丢失 {"key": ["4"]} source column : ‘NAME’, value : ‘Super333’ 与目标列不匹配:‘lalala’
交互式分析
Kinesis Data Analytics 实时
S3/Glacier
Aurora
MySQL, PostgreSQL
RDS
MySQL, PostgreSQL, MariaDB, Oracle, SQL Server
RDS on VMware
数据湖
Lake Formation
数据湖
Databases
迁移示例
https://aws.amazon.com/cn/dms/resources/