您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 如何将数据库迁移到AWS云平台
版权归©2016,AmazonWebServices,Inc.或其附属公司所有。保留所有权利。数据库上云迁移议程•客户为何迁移数据库•迁移注意事项•迁移目标•迁移场景•AWS的迁移工具客户为何迁移数据库客户为何迁移数据库•成本•灵活性•托管服务•性能和可扩展性•容错能力和可用性迁移注意事项迁移注意事项•业务影响•现有数据库的复杂性•应用程序的复杂性•集成要求(延迟、连接性、安全性等)•RPO/RTO•所需技能迁移目标AWS上的关系型数据库AmazonRDSAmazonRedshiftAmazonEC2数据库服务器目标:RDS•六个数据库引擎•易于管理(托管服务)•可用性和持久性•安全性•多达32个vCPU以及244GB内存•价格低廉:EC2+10%•无法访问RDS实例的操作系统RDS数据库引擎托管服务的限制•完全托管的实例和操作系统•无法访问数据库实例的操作系统•有限的数据库配置管理能力•提供的功能不能依赖于实例操作系统的配置•完全托管存储•最大存储限制•MicrosoftSQLServer-4TB•MySQL,MariaDB,PostgreSQL,Oracle-6TB•Aurora-64TB•数据库的扩展目标:AmazonEC2数据库服务器MarketplaceAMI或自行安装SQLServeronAWS二者选择的思路•首先考虑RDS•要求超出了RDS限制,则考虑EC2数据库服务器•需要RDS无法支持的功能,则考虑EC2数据库服务器•为了完全控制操作系统和软件的访问和管理,则考虑EC2数据库服务器•EC2数据库服务器需要自行管理备份、复制和集群的问题目标:RDSOracle•OracleSE,多达16个vCPU•OracleSEOne和OracleSETwo,多达32个vCPU•OracleEE•版本11g和12c,(11.2.0.4–12.1.0.2)•主备多可用区•单个实例支持自动主机更换(硬件故障)目标:RDSOracle支持的功能•EnterpriseManagerDatabaseControl/Express•XMLDB•透明磁盘加密(TDE)•OracleGoldenGate11.2.1:运行11.2.0.3/4的RDSOracleBYOL版本,还可与TDE配合使用•SSL和Oracle本地网络加密(NNE)•不支持:RAC、DataGuard、Vault、Spatial、Streams或JavaGoldenGate与RDS结合使用目标:RDSOracle许可•附带许可或BYOL例如,对于已授权云环境中的DatabaseEnterpriseEdition许可:由8个虚拟内核(英特尔多核芯片)组成的单个实例上授予OracleDatabaseEnterpriseEdition许可,则需要8*0.5=4个处理器许可证(每个虚拟内核被视为一个物理内核)。从Oracle产品许可的角度看,这意味着每个虚拟处理器相当于一个物理内核,且适用标准的Oracle处理器规格定义。来源:•虚拟内核不是vCPU。注意,1个vCPU==1个超线程==0.5个虚拟内核。来源:目标:RDSSQLServer•SQLServer2008R2引擎•从2008R2直接升级上来的SQLServer2012引擎•两种引擎均适用Express、Web、Standard和Enterprise版目标:RDSSQLServer支持的功能•Windows身份验证•适用于传输中加密的SSL•适用于静态加密的透明数据加密(TDE)•2008和2012版中的SSMS、SSMA、安全CLR和全文搜索支持•2012EE版中的Columnstore索引•SQLServer镜像多可用区部署,仅限Standard和EE版•不支持原生Windows/SQL集群或WSFC•提供“SQLServeronAWS”白皮书目标:RDSMySQL,MariaDB和PostgreSQL•MySQLv5.1、5.5-7,MySQLGA版推出后3-5个月•PostgreSQLv9.3.5以上版本•MariaDBv10.0.17以上版本•针对每个实例大小预配置参数•多可用区只读副本(MySQL)目标:RDSAurora•MySQL具备商业级安全性和可靠性•性能最高可达MySQL的5倍•弹性存储最高可达64TB•可跨三个可用区复制6倍的数据•只读副本最多可达15个目标:Redshift•快速、可扩展、PB级数据仓库•完全托管•1000美元/PB/年•静态加密和传输中加密迁移场景同构迁移:Oracle(工具)•OracleSQLDeveloper200MB•MaterializedViews500MB;仅限EE•OracleSQL*Loader10GB•OracleDataPump5TB•OracleRecoveryManager(RMAN)任意大小•OracleGoldenGate任意大小AWS白皮书:同构迁移:Oracle(方法)•一步式迁移关闭、提取、传输、导入,然后进行验证停机影响较大,但比较简单•两步式迁移在非高峰时间点提取数据。数据库保持联机状态在新数据库中传输、导入和验证数据源数据库脱机,并迁移自初始迁移后开始出现的增量数据将停机时间减至最短,且相对简单•零宕机通过OracleGoldenGate、DbvisitReplicate或AttunityReplicate复制数据零停机,但很复杂同构迁移:SQLServer•生成和发布向导1GB•导入和导出向导1GB•批量复制功能1GB(最快)同构迁移:MySQL和MariaDB•纯数据文件20GB将数据文件复制到EC2,然后通过LOADDATALOCALINFILE进行导入,速度快•SQL文件20GB使用mysqldumpsql文件,速度慢且不可重新开始在导入期间禁用索引、外键约束和二进制日志•创建只读副本以保持最新,切换时提升只读副本同构迁移:PostgreSQL•批量:pg_dump/pg_restore•增量式:提前写入日志AWSDatabaseMigrationService在10分钟或更短的时间内开始您的首次迁移迁移过程中您的应用程序继续运行在AmazonEC2或RDS之内或之间进行复制将数据迁移到同一个或不同的数据库引擎DatabaseMigrationTool(DMT)支持的功能:•事务性变更数据捕获(CDC)和应用,对源数据库的性能影响较小•异构迁移(例如Oracle到MySQL)和同类迁移(例如Oracle到Oracle)•支持的源数据库包括:•Oracle,SQLServer,MySQL,Aurora,ODBC,Postgres•支持的目标数据库包括:•包括Redshift,Oracle,SQLServer,MySQL,Aurora,Postgres“这是一个强大的实用程序,用最少的停机时间将企业内部和EC2上的数据库服务器迁移到RDS、AmazonRedshift和AmazonAurora”DMT的工作原理是什么?•客户预启动DMT服务器•客户定义源数据库端点和目标数据库端点•客户创建将数据从源数据库迁移到目标数据库的任务•现有数据从源表复制到目标表•在加载表时可捕获源表上数据的更改•加载完成后,缓冲的更改会应用到目标数据库•在源数据库上捕获的其他更改在任务停止或终止之前都会应用到目标数据库客户自有数据中心用户AWSInternetVPN启动EC2DMT服务器连接源和目的数据库选择相应的表、Schema或数据库让DMT服务创建表,加载数据并保持同步合适的时机将应用程序的访问切换到目标数据库上DMT的工作原理EC2DMT服务器复制实例源目标开始完全加载在加载数据的同时捕获更改源目标复制实例更新加载完成–应用捕获的更改源目标复制实例更新更改达到稳定状态源目标复制实例更新转换–关闭应用程序并应用其余更改源目标复制实例更新开始运行!源目标复制实例更新迁移阶段-应用/创建空的数据库架构,去除外键约束和二级索引-利用DMT迁移数据-应用其余的架构对象-开始运行加载是逐表进行的复制实例源目标在目标数据库中创建表在目标数据库中设置所需的元数据从源数据库中填充数据每个进程加载一个完整的表可以使用多个进程可暂停•重新开始后,将从以前停止处继续•将重新加载当时正在处理的所有表更改是事务性的,来自日志迁移服务器源目标更新t1t2t1t2DMT–变更数据捕获(CDC)“非接触型”设计•读取源数据库的恢复日志•使用引擎原生的变更数据捕获API•源数据库上不需要安装Agent一些要求•Oracle:需要Supplementallogging•MySQL:需要全镜像行级别bin日志•SQLServer:恢复模式批量记录或全记录以单个提交的事务为单元捕获和应用更改加载启动时激活加载完成后才应用更改,然后尽快地执行和实时应用同构或异构复制实例SQLServerMySQL复制实例OracleOracle复制实例OracleAuroraDatabaseMigrationTool源和目标数据库(1)-AmazonAurora源和目标使用与RDSMySQL相同的访问机制(2)-批量提取模式支持RDSSQLServer源数据库;尚不支持CDC模式(3)-没有带RDS或Amazon品牌前缀的数据库类型,表示企业内部部署或使用EC2安装(4)-源和目标数据库不能同在企业内部源数据库•MySQL,RDSMySQL,Aurora(1)•Oracle,RDSOracle•SQLServer,RDSSQLServer(2)•ODBC3.0sources•PostgreSQL,RDSPostgreSQL目标数据库•MySQL,RDSMySQL,Aurora(1)•Oracle,RDSOracle•SQLServer,RDSSQLServer•AmazonRedshift•PostgreSQL,RDSPostgreSQL支持的所有源和目标数据库EndpointDatabaseVersionsDatabaseEditionsOracleSource10g,11gor12cEnterprise,Standard,StandardOneOracleTarget(EC2)OracleTarget(RDS)10g,11gor12c11gor12cEnterprise,Standard,StandardOneSQLServerSource2005,2008,2008R2,2012and2014Enterprise,Standard,Workgroup,DeveloperSQLServerTarget(EC2)SQLServerTarget(RDS)2005,2008,2008R2,2012and20142008R2,2012Enterprise,Standard,Workgroup,DeveloperEnterprise,StandardMySQLSource5.5and5.6MySQLTarget5.5and5.6AmazonAuroraTarget支持兼容MySQL的数据源AmazonRedshiftTargetODBC3.0Source数据类型的限制EndpointLimitationsOracleBFILE,ROWID,REF,UROWID,NestedTable,User-defineddatatypesSQLServerSourceCURSOR,SQL_VARIANT,TABLE,GEOGRAPHY,GEOMETRY,HIERARCHYIDMySQLSource
本文标题:如何将数据库迁移到AWS云平台
链接地址:https://www.777doc.com/doc-5013511 .html