亚马逊AWS官方博客
为您的工作负载选择正确的数据库和数据库迁移计划
为什么要迁移到托管式数据库?
托管式数据库或专用数据库是由 AWS 提供的托管式服务,可让您专注于其他业务和技术优先事项。由于不同类型的数据库能够满足特定的需求,因此,应用程序中的数据库层绝不应是一种通用方法。根据您正在开发的应用程序的类型,您应研究适合您的业务和企业使用案例的托管选项。
数据库类型 | 使用案例 | AWS 服务 |
---|---|---|
关系 | 传统应用程序、企业资源规划(ERP,Enterprise Resource Planning)、客户关系管理(CRM,Customer Relationship Management)、电子商务 |
|
键值 | 高流量 Web 应用程序、电子商务系统、游戏应用程序 |
|
内存 | 缓存、会话管理、游戏排行榜、地理空间应用程序 |
|
文档 | 内容管理、目录、用户配置文件 |
|
宽列 | 用于设备维护、实例集管理和路由优化的大规模工业应用程序 |
|
图形 | 欺诈检测、社交网络、推荐引擎 |
|
时间序列 | 物联网(IoT,Internet of Things)应用程序、DevOps、工业遥测 |
|
分类账 | 记录系统、供应链、注册、银行事务 |
|
表 1.由 AWS 托管的数据库
托管式数据库功能
可管理性。 作为一家公司,数据是您拥有的最重要且最有价值的资产。虽然数据仍是您的重要资产,但在数据库管理上花费时间并不是最佳的时间利用方式。托管式服务具有用于数据库管理的多个方面的内置可靠工具,可帮助您的数据库以最佳性能运行。
可用性和灾难恢复。 默认情况下,AWS 的大多数托管式数据库都是高度可用的。例如,Amazon Aurora 旨在提供 99.99% 的可用性,并跨三个可用区复制六个数据副本(图 1)。它会持续将您的数据备份到 Amazon S3。它可以透明地从物理存储故障中恢复;实例失效转移通常用时不超过 30 秒。
利用托管式数据库,您在创建高度可用的容错数据库方面拥有多种选择。或者,如果您选择在其他位置自行托管数据库,则必须制定自己的灾难恢复(DR,Disaster Recovery)策略。这需要细致的 DR 规划,并且在很大程度上依赖于持续监控解决方案。
弹性和敏捷性:云为扩展数据库提供了灵活性。您可以在几分钟内进行扩展,并根据需要增多和减少其他服务器和存储大小。它给容量规划带来了灵活性。您始终可以重新评估数据库层,以查看它是过度预置还是预置不足。
在 AWS 上自行管理的数据库
如果我不需要托管数据库,是否仍应使用 Amazon EC2 托管我的数据库?
在下面的一些场景中,您可能会发现将数据库托管在 Amazon EC2 实例上会很有用:
- 您需要能够完全控制数据库,并获得对其底层操作系统、数据库安装和配置的访问权。
- 您已准备好规划数据库的高可用性,并准备灾难恢复计划。
- 您需要管理数据库,包括备份和恢复。您必须执行各种任务,例如修补操作系统和数据库、调整操作系统和数据库参数、管理安全性以及配置高可用性或复制。
- 您需要使用托管式服务当前不支持的功能。
- 您需要一个 AWS 托管式数据库服务不支持的特定数据库版本。
- 您的数据库大小和性能需求超出托管式服务的限制。
- 您希望避免使用可能与您的应用程序不兼容的自动软件补丁。
- 您希望实现高于托管式服务的当前限制的 IOPS 和存储容量。
我是否能自定义底层操作系统和数据库环境?
Amazon RDS Custom 是一项托管式数据库服务,适用于需要自定义底层操作系统和数据库环境的应用程序。借助 Amazon RDS Custom,您可以访问托管式数据库引擎的底层 EC2 实例。您可以通过安全外壳(AWS Systems Manager 和 SSH)访问 EC2 实例,并进行自定义设置来满足您的应用程序需求。
选择要实施的迁移计划
云数据库迁移历程的第一步是确定要迁移到的数据库。对于关系数据库,请确定迁移策略。在大多数数据库迁移中,您可以选择更换主机、更换平台或重构。
对于关系数据库,请参阅有关选择迁移策略的 AWS Prescriptive Guidance。
接下来,确定哪个数据库迁移计划最能满足您的需求。AWS 提供了许多选项来帮助您正确处理数据迁移,同时实现最短停机时间。以下是您可以考虑在云数据库采用历程中使用的数据库迁移计划:
1.AWS 提供的 AWS Database Migration Service(AWS DMS):AWS Database Migration Service(AWS DMS)是一种用于迁移数据库的自助服务选项。您可以使用 AWS DMS 在同类数据库类型之间进行迁移,例如从一个 MySQL 实例迁移到新的 MySQL 实例。您也可以在异构数据库类型之间使用 AWS DMS,例如从商业数据库(例如 Oracle)迁移到云原生关系数据库(例如 Aurora)。阅读有关迁移示例数据的教程:AWS Database Migration Service 分步演练。
AWS DMS 提供最短停机时间,支持广泛使用的数据库,支持持续复制。它作为一项低成本服务提供,高度可靠。如果您正在寻找用于数据库迁移的端到端服务,可以考虑 AWS DMS。
2.使用 AWS Schema Conversion Tool(SCT)的 AWS Database Migration Service(DMS):如果您要在异构数据库之间进行迁移,请使用 AWS Schema Conversion Tool(SCT)。它将源数据库架构和数据库代码对象(如视图、存储过程和函数)转换为与目标数据库兼容的格式(图 2)。
对于异构迁移,可以考虑将 AWS DMS 与 AWS SCT 结合使用。
3.Database Freedom 计划:如果您是云计算新手,或者您的数据库迁移计划必须由行业专家评估和验证,请尝试 Database Freedom 计划。Database Freedom 是一项独特的计划,旨在帮助客户迁移到 AWS 数据库和分析服务。他们将提供技术建议、迁移支持和财务援助。
您可以使用 Database Freedom 计划的联系我们页面,与能够在云采用历程中为您提供帮助的专家取得联系。
4.AWS Professional Services 和合作伙伴:您可能拥有内部数据库专业知识,但需要跨不同应用层的端到端实施协助。从 AWS Professional Services 获得帮助,或者与经认证的 AWS 合作伙伴网络取得联系。AWS Database Migration Service 交付合作伙伴可帮助客户使用 AWS DMS 安全地将数据库迁移到 AWS,同时最大限度地减少应用程序的停机时间并遵循最佳实践。
结论
云的迁移历程是在不断发展的。要继续专注于创新,请在迁移历程中利用 AWS 托管式服务。
我希望本博文能帮助您考虑使用托管式数据库服务(如果可用),并有效地评估和选择适合您企业的数据库迁移计划。如有任何疑问,请随时与我们联系。我们非常乐意为您的云历程提供帮助。
祝您迁移顺利!
其他阅读资源