Amazon Web Services 为开发人员提供了丰富的数据库管理方法。您可以运行托管关系数据库以及托管 NoSQL 数据库,也可以借助 Amazon EC2 和 Amazon EBS 在云中运行自己的在线数据库。

如果您需要 可考虑使用
具有最少管理工作的关系数据库服务 Amazon RDS 是一种托管的关系数据库服务,可以提供 MySQL、Oracle、SQL Server、PostgreSQL、Amazon Aurora 或 MariaDB 数据库引擎、扩展计算与存储、多可用区可用性和只读副本等选项。
速度快、扩展性高的非关系数据库服务 Amazon DynamoDB,是一种托管的 NoSQL 数据库,可提供快速的性能,并具有可无缝扩展、可靠、成本低等特点。
易于操作的内存内部缓存 Amazon ElastiCache 是一项托管的内存内部缓存云服务,可提供两种内存内部缓存引擎:Memcached 和 Redis
快速的 PB 级数据仓库 Amazon Redshift 是一种托管的数据仓库服务,它使得用现有商业智能工具对您的所有数据进行高效分析变得简单而实惠。
可自行管理的关系数据库 选择 Amazon EC2 和 EBS 的关系型 AMI,可提供扩展计算与存储、完全实例控制等服务。

Amazon Relational Database Service (Amazon RDS) 是一种可让用户在云中轻松设置、操作和扩展关系数据库的 Web 服务。 此服务在管理耗时的数据库管理任务的同时,提供经济实用的可调容量,使您能够腾出时间专注于应用程序和业务。

通过 Amazon RDS,您可以使用熟悉的数据库引擎的功能,这意味着您目前与现有数据库配合使用的代码、应用程序和工具也可以与 Amazon RDS 配合使用。Amazon RDS 可自动为数据库软件升级补丁,用户可以自定义数据的存储备份保留时间,并且实现时间点恢复。只需通过一次 API 调用,即可灵活地扩展与关系数据库实例相关联的计算资源或存储容量,让用户从中受益。另外,Amazon RDS 数据库引擎还提供了两个不同但互为补充的复制功能:多可用区部署和只读副本;这两项功能可以单独使用,也可以结合使用,以便提高数据库可用性,并保护您的最新数据库更新以防止发生意外故障。只读副本还有助于横向扩展,不受具有大量读取操作的数据库负载对单个数据库实例的容量限制。

Amazon Aurora 是一个兼容 MySQL 的关系数据库引擎,具备高端商用数据库的速度和可用性,也具备开源数据库的简单性和成本效益。Amazon Aurora 可以提供与商用数据库类似的性能和可用性,同时以十分之一的价格实现最高达到 MySQL 五倍的性能。

我们建议有以下需求的客户使用 Amazon RDS:

  • 运行现有或全新应用程序、代码或需要关系数据库的工具
  • 想在本地保留对 MySQL、MariaDB、Oracle、SQL Server 或 PostgreSQL 数据库引擎的访问权限,但希望由 AWS 负责基础设施管理和数据库管理工作
  • 想采用多可用区和只读副本功能以提高数据库可用性和读取可扩展性
  • 喜欢只需一次 API 调用即可扩展数据库计算和存储资源,并且按实际消耗的基础设施资源付费的灵活性

所有的数据库引擎都支持多可用区部署。目前,Amazon RDS for MySQL、MariaDB、PostgreSQL 和 Amazon Aurora 支持只读副本。

有关更多信息,请参阅 Amazon RDS 详细信息页。


Amazon DynamoDB 特别适合用于随时要求低延迟性和可预测性能,但不需要复杂查询功能(如联接或复杂事务处理)的云数据库应用程序。Amazon DynamoDB 是一种托管的 NoSQL 数据库服务,具有性能高、可预测吞吐量和成本低等特点。便于设置、操作和扩展。

通过 Amazon DynamoDB,您可以从小处着手,指定所需的吞吐量和存储,轻松地扩展您的容量需求。Amazon DynamoDB 会自动将数据分区到多台服务器中,以满足您的容量需求。此外,DynamoDB 还会自动在 AWS 地区内多个可用区域之间同步复制数据,以确保高可用性和数据持久性。

Amazon DynamoDB 支持文档和键-值两种数据模型。该服务不需要固定的模式,可使数据主要通过主密钥进行访问。此外,该服务默认强一致性读取且支持原子计数器,让您通过一次 API 调用就能以原子方式递增或递减数值属性。

我们建议有以下需要的客户使用 Amazon DynamoDB:

  • 需要构建具有高可扩展性,而且要求读取和写入都具有极高的吞吐量和低延迟性的应用程序
  • 要求能够扩展为非常大的数据集,同时保持可预测的性能,即使是从较小的数据集开始
  • 主要使用键来访问数据
  • 不想承担运行高可用性分布式数据库群集的管理费用

有关更多信息,请参阅 Amazon DynamoDB 详细信息页。


ElastiCache 是一种让用户能够在云中轻松部署、操作和扩展内存缓存的 Web 服务。该服务允许您从快速的托管内存缓存系统中检索信息,而无需完全依赖于速度较慢的基于磁盘的数据库,从而提高了 Web 应用程序的性能。ElastiCache 支持两种开源的内存缓存引擎:

  • Memcached – 一种广泛采用的内存对象缓存系统。ElastiCache 与 Memcached 保持协议兼容,因而您当前用于现有 Memcached 环境的常用工具仍可无缝应用于该服务。
  • Redis – 一种常用的开源内存键值存储系统,可支持有序集合和列表等数据结构。ElastiCache 支持主/从复制和多可用区,这项功能可用于实现可用区的交叉冗余。

此外,Amazon ElastiCache 可自动检测和更换出现故障的缓存节点,从而降低自我管理型基础设施的日常费用,并且还可提供一个有弹性的系统以降低数据库过载的风险,此类风险会拖慢网站和应用程序的加载速度。通过与 Amazon CloudWatch 的集成,Amazon ElastiCache 能提供更强的可见性,以便更清晰地了解与 Memcached 或 Redis 节点相关的关键性能指标。

利用 Amazon ElastiCache,您可以使用 AWS 管理控制台,只花几分钟时间就将内存内部缓存层添加到您的基础设施中。

有关更多信息,请参阅 Amazon ElastiCache 详细信息页。

 


Amazon Redshift 是一种 PB 级快速托管数据仓库服务,它使得用现有商业智能工具对您的所有数据进行高效分析变得简单而实惠。您可以以每小时 0.25 USD 的价格从小规模开始,无需订立长期合约或预付费,然后以每年每 TB 1 000 USD 的价格再扩展到 1 PB 或以上,这个费用比大多数其他数据仓库解决方案成本的十分之一还要低。

Amazon Redshift 使用列存储技术改善 I/O 效率并跨过多个节点平行放置查询,从而提供快速的查询性能。Redshift 使用标准的 PostgreSQL JDBC 和 ODBC 驱动程序,从而使您能够使用各种常见 SQL 客户端。数据加载速度与集群大小、与 Amazon S3、Amazon DynamoDB、Amazon Elastic MapReduce、Amazon Kinesis 或任何启用 SSH 的主机的集成呈线性扩展关系。

我们已自动化与预配置、配置和监控数据仓库相关的大多数常见管理任务。连续、递增且自动地备份到 Amazon S3。快速还原;您可以在几分钟内开始查询,同时数据会在后台缓冲。安全件是内置的。您可以使用硬件加速型 AES-256 和 SSL 加密静态和中转数据,使用 Amazon VPC 隔离您的集群,甚至使用硬件安全模块 (HSM) 管理您的密钥。

我们建议有以下需要的客户使用 Amazon Redshift:

  • 随着数据和查询复杂性的增加,需要扩展实现高性能
  • 想要避免报告和分析处理影响 OLTP 工作负载的性能
  • 大量持久的结构化数据,使用标准 SQL 和现有的商业智能工具进行查询
  • 想要减轻运行自己的数据仓库所带来的管理重担,如处理安装、持久性、监控、扩展和修补等问题

更多信息请参阅 Amazon Redshift 页面。

 


开发人员可能会在 Amazon EC2 上使用一些先进的关系数据库。Amazon EC2 实例可用于运行在线数据库,数据可以存储在 Amazon EBS 卷中。Amazon EBS 是一种快速、可靠的 Amazon EC2 持久存储功能。通过使用 Amazon EC2 关系数据库 AMI,开发人员在访问各种标准数据库引擎的同时,还能避免基础设施配置产生冲突。安装一个新的数据库服务器通常需要基于基础设施和硬件进行配置安装,而 Amazon EC2 关系数据库 AMI 使开发人员能够跳过这些安装,同时使他们仍能完全控制与数据库服务器运行关系的管理和优化工作。

我们建议具有以下特点的客户使用 Amazon EC2 关系数据库:

  • 希望数据库引擎选择更丰富
  • 要对数据库服务器完全发挥管理控制权

通过 AMI 安装关系数据库

Amazon 系统映像 (AMI) 是存储在 Amazon S3 中的加密系统映像。它包含启动软件实例所需的所有信息。许多现有的 AMI 已与关系数据库配套。有关更多信息,请参阅 AMI 和 AWS Marketplace。

请访问我们的页面:什么是 NoSQL?,充分了解 AWS 上提供的 NoSQL 数据库选项。


选择使用 Amazon EC2 关系数据库 AMI 的用户将使用 Amazon EBS 来托管数据库服务器的数据。Amazon EBS 提供将快照保存到 Amazon Simple Storage Service (Amazon S3) 的功能。这些备份快照应采用与传统系统相同的方式,使用任务调度程序或图形单元来执行。Amazon S3 提供持久储存,并自动复制到多个位置。

Amazon RDS 用户可以利用自动备份工具,选择拍摄备份快照的频率和所需的保留期限(天数)。Amazon RDS 提供免费备份存储,最大容量相当于所配置数据库的大小。Amazon RDS 会自动备份数据库和事务日志,并且可恢复到保留期内任何时间点的状态,最多可恢复到前五分钟的状态。用户还可恢复到已创建的用户启动备份快照时的状态。

Amazon DynamoDB 可用性高,可以在一个区域中的三个数据中心之间实现自动同步数据复制。这有助于保护您的数据,不会因为个别机器故障甚至是数据中心瘫痪而受到丝毫影响。Amazon DynamoDB 数据可以导出到设计持久性达 99.999999999% 的 Amazon S3 或者不同 AWS 区域中的 DynamoDB。


保护云数据库的第一步是遵守特定于该数据库的安全准则,尤其要注意访问权限控制。请参阅供应商网站/项目网站上针对所选数据库的说明文档。

如果您正在为数据库使用 Amazon EC2 和 EBS,则应该使用 Amazon EC2 分布式防火墙来限制对数据库的访问权限。您可以使用安全组访问规则,以确保只有您的实例有权访问您的数据库。

有关对 AWS 安全性(包括 Amazon DynamoDB 和 Amazon RDS 安全性)的完整概述,请参阅 Overview of Security Processes 白皮书。