AWS云迁移实践:从Oracle到AWS Aurora之旅
副标题[/!--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):
三、分支的选择:MySQL和Postgres的区别 挑选合适的数据库技术是非常重要的,应用需求、可用性、安全需求决定了哪种技术更满足需要。下表罗列了MySQL和Postgres的关键区别(针对从Oracle迁移过来,选谁更合适这一需求): 四、最终选择及采取策略 Postgres成为了最终的赢家,因为应用不能遵循MySQL的规则。MySQL要求,如果表有Primary key或者unique key,那么分区表的分区列必须包含在唯一键或者主键里。另外,interval分区特性也是个考虑点,能降低运营成本。 迁移策略
整个迁移流程基本如下图所示(从RDS Oracle到Aurora Postgres都是在云上完成): 回退策略
整个迁移应该说作者写得还是有点简单了,AWS有更详细的文档,在迁移三步走的playbook里: 它对Oracle一些重要的特性与Postgres做了较详细的对比(异构数据库间的迁移都可以参考下): (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |