加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

AWS云迁移实践:从Oracle到AWS Aurora之旅

发布时间:2019-04-10 23:35:15 所属栏目:编程 来源:杨志洪
导读:起首,本项目标方针是将当地的Oracle数据库迁徙到云上的Amazon Aurora数据库。 原则: 零数据丢失 零数据破坏 一、Amazon Aurora数据库的上风 高机能和可扩展 沟通硬件情形下,Amazon Aurora的吞吐量是尺度MySQL的5倍,尺度PostgreSQL的3倍。 这一机能与商
副问题[/!--empirenews.page--]

起首,本项目标方针是将当地的Oracle数据库迁徙到云上的Amazon Aurora数据库。

原则:

  • 零数据丢失
  • 零数据破坏

一、Amazon Aurora数据库的上风

  • 高机能和可扩展

沟通硬件情形下,Amazon Aurora的吞吐量是尺度MySQL的5倍,尺度PostgreSQL的3倍。

这一机能与贸易数据库各有千秋,而本钱只有后者的异常之一。可以跨3个可用区(AZ:Availability Zone)建最多15个低耽误的只读副本,来扩展读应用的手段和机能。

  • 高可用和耐久化

Amazon Aurora提供高出4个9的可用性尺度(注:一年可非打算停机52.6分钟)。在跨3个可用区内每份数据有6个副本,因此Aurora有容错及自愈成果。

Aurora一连备份数据到Amazon S3上,当产生物理存储破坏可能实例妨碍时可以或许举办透明规复,规复凡是在30秒内完成。

  • 高安详性

Amazon Aurora为数据库提供了多个级此外安详。包罗用Amazon VPC举办收集断绝,通过AMS秘钥打点处事举办数据加密,通过SSL举办加密数据传输。

一个加密了的Amazon Aurora数据库实例,底层存储的数据是加密了的,自动备份、快照及集群中的副本也是加密的。

  • 完全托管

Amazon Aurora由 Amazon RDS(Amazon相关数据库处事)全面打点。你不必再担忧数据库的一般打点,好比硬件预置、软件补丁、安装、设置及备份。

Aurora会一连地监控数据,并自动将其备份数据库到Amazon S3,因此可以实现风雅的时刻点规复计策。可以用Amazon CLoudWatch、加强监控成果监控数据库机能,还可以用Performance Insights辅佐快速检测机能题目。

二、Amazon Aurora系统布局

当我们建设一个Amazon Aurora实例时,起首建设了一个数据库集群。一个数据库集群由一个或多个数据库实例构成,集群中的集群卷(cluster volume)打点全部实例的数据。

Aurora集群卷是一个假造的数据库存储卷,凌驾多个可用区,每个可用区稀有据库集群数据的一个副本。

一个Aurora数据库集群由两种范例的数据库实例构成,主实例(Primary instance)和副本实例(Aurora Repilca):

  • 主实例:支持读写操纵,对集群卷(cluster volume)完成全部的数据修改。每个Aurora数据库集群有一个主实例。
  • 副本实例:仅支持读操纵。每个Aurora数据库集群最多可觉得主实例添加15个副本实例。多个副本实例分管读的压力,将副本实例分手在差异的可用区同时加强了数据库的可用性。下图展示了一个Aurora数据库集群中集群卷、主实例、副本实例的相关:

AWS云迁徙实践:从Oracle到AWS Aurora之旅

三、分支的选择:MySQL和Postgres的区别

挑选吻合的数据库技能长短常重要的,应用需求、可用性、安详需求抉择了哪种技能更满意必要。下表摆列了MySQL和Postgres的要害区别(针对从Oracle迁徙过来,选谁更吻合这一需求):

AWS云迁徙实践:从Oracle到AWS Aurora之旅

四、最终选择及采纳计策

Postgres成为了最终的赢家,由于应用不能遵循MySQL的法则。MySQL要求,假如表有Primary key可能unique key,那么分区表的分区列必需包括在独一键可能主键里。其它,interval分区特征也是个思量点,能低落运营本钱。

迁徙计策

  • 搜查Amazon SCT器材输出的迁徙评估陈诉,并批改陈诉中说起的题目项。
  • 在AWS上建设Oracle RDS,将数据从当地Oracle数据库迁徙到Oracle RDS。
  • 假如应用不能接管停机割接,则在当地Oracle和云上Oracle RDS之间陈设Goldengate复制。
  • 用模式转换器材(SCT,Schema Conversion Tool)举办从Oracle到Aurora的模式转换。
  • 初始数据同步前,禁用全部Amazon Aurora上的外键。
  • 对一连运行的应用,用DMS(AWS Data Migration Service)将数据从Oracle RDS迁徙到Postgres。
  • 在Amazon Aurora上启用全部外键。
  • 在postgres上设置自动成果,自动破除旧的分区。
  • DDL/DML复制是DMS开箱即用的成果。我问支持DDL/DML复制么?虽然!并且不必要再设置什么此外。
  • 数据库机能深度说明(Performance Insights)也是开箱即用的成果。今朝仅仅支持Amazon Aurora。
  • 删除迁徙进程中的姑且资源(好比复制实例、使命、endpoint及Oracle RDS等),迁徙事变就算完成了。

整个迁徙流程根基如下图所示(从RDS Oracle到Aurora Postgres都是在云上完成):

AWS云迁徙实践:从Oracle到AWS Aurora之旅

回退计策

  • 回收DMS举办回退,可能用Goldengate也可以。
  • Postgres作为源端,Oracle RDS作为方针端。
  • 把已经存在的数据可能增量数据从源端迁徙到方针端(取决于回退要领以及应用可以应承停机多久来做回退)。

整个迁徙应该说作者写得照旧有点简朴了,AWS有更具体的文档,在迁徙三步走的playbook里:

AWS云迁徙实践:从Oracle到AWS Aurora之旅

它对Oracle一些重要的特征与Postgres做了较具体的比拟(异构数据库间的迁徙都可以参考下):

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读