< 返回
Amazon Aurora高性能托管型关系数据库
2022-02-10 15:59:58

Amazon Aurora 是一种与 MySQL 和 PostgreSQL 兼容的关系数据库,专为云而打造,既具有传统企业数据库的性能和可用性,又具有开源数据库的简单性和成本效益。

Amazon Aurora 的速度最高可以达到标准 MySQL 数据库的五倍、标准 PostgreSQL 数据库的三倍。它可以实现商用数据库的安全性、可用性和可靠性,而成本只有商用数据库的 1/10。Amazon Aurora 由 Amazon Relational Database Service (RDS) 完全托管,RDS 可以自动执行各种耗时的管理任务,例如硬件预置以及数据库设置、修补和备份。

Amazon Aurora 采用一种有容错能力并且可以自我修复的分布式存储系统,这一系统可以把每个数据库实例扩展到最高 128TB。它具备高性能和高可用性,支持最多 15 个低延迟读取副本、时间点恢复、持续备份到 Amazon S3,还支持跨三个可用区复制。

高性能和高可扩展性

吞吐量最高可达 MySQL 的 5 倍

根据 SysBench 等标准基准进行的测试表明,在类似硬件上运行时,Amazon Aurora 的吞吐量性能最高可达到存储 MySQL 的 5 倍。Amazon Aurora 使用各种不同的软件和硬件技术来确保数据库引擎能够充分利用可用计算、内存和联网。I/O 运算使用 Quorum 等分布式系统技术来提高性能一致性。

一键式计算扩展

使用 Amazon Relational Database Service (Amazon RDS) API 或在 AWS 管理控制台中单击几下,您便能扩展您的计算和内存资源,以便您扩大或减小部署规模。计算扩展操作通常可在几分钟之内完成。

存储自动扩展

Amazon Aurora 会随着您存储需求的增长而自动提高您的数据库容量大小。您的容量将以 10 GB 的增量增加,最大可增加到 128 TB。您无需为了满足未来增长需求,而为数据库预置多余存储空间。

低延迟只读副本

您可以通过创建多达 15 个数据库 Amazon Aurora 副本,增加读取吞吐量以支持大量应用程序请求。Aurora 副本与源实例共用同一个底层存储,从而降低成本并消除在副本节点执行写入操作的需要。这将释放更多的处理能力来提供读取请求并降低副本滞后时间,通常可降低到几毫秒。Aurora 提供一个读取器端点,应用程序可以直接连接,不必跟踪副本的添加和删除。它还支持自动扩展功能,通过自动添加或删除副本来响应您指定的性能指标的变化。

Aurora 支持跨区域只读副本。这些副本为您的用户提供快速本地读取,并且每个区域可以具有 15 个额外 Aurora 副本以进一步扩展本地读取。您可以在提供最佳复制性能的全局数据库和传统的基于二进制日志的复制之间进行选择。您还可以使用外部 MySQL 数据库设置自己的二进制日志复制。

无服务器配置

Amazon Aurora 无服务器是一种面向 Aurora 的按需自动扩缩配置,其中的数据库将根据应用程序的需求自动启动、关闭以及扩展或缩减容量。在云中运行数据库,而无需管理任何数据库实例。

自定义数据库端点

借助自定义端点功能,您可以在不同数据库实例集之间分配工作负载并对其执行负载均衡。例如,您可以预置一组 Aurora 副本以使用具有更高内存容量的实例类型,以便运行分析工作负载。然后,自定义端点可以帮助您将工作负载路由到这些经过适当配置的实例,同时使集群中的其他实例与此工作负载隔离。

并行查询

Amazon Aurora 并行查询提供比当前数据更快的分析查询。它可以将查询速度提高多达两个数量级,同时保持核心事务工作负载的高吞吐量。通过将查询处理下移至 Aurora 存储层,它不仅获得了大量计算能力,还减少了网络流量。使用并行查询在同一个 Aurora 数据库中互不干扰地运行事务和分析工作负载。

用 Amazon DevOps Guru 诊断和解决 RDS 性能瓶颈

Amazon DevOps Guru 是一款由机器学习 (ML) 支持的云运维服务,可以提高应用程序的可用性。使用针对 RDS 的 Amazon DevOps Guru,您可以用机器学习(ML)支持的洞察轻松检测和诊断性能相关的关系数据库问题,并在几分钟内解决问题,而不是花费几天时间。开发人员和 DevOps 工程师可以使用针对 RDS 的 DevOps Guru,自动识别性能问题的根本原因,并获得解决问题的智能建议,无需数据库专家的帮助。

想要开始使用,只需转到 Amazon RDS 管理控制台并打开 Amazon RDS 性能洞察。启用 Performance Insights(性能洞察)后,请前往 Amazon DevOps Guru 控制台,以便为 Amazon Aurora 资源、其他受支持的资源或您的整个账户启用 DevOps Guru。

高可用性和持久性

实例监控和修复

Amazon RDS 持续监控您的 Amazon Aurora 数据库和底层 Amazon Elastic Compute Cloud (EC2) 实例的运行状况。发生数据库故障时,Amazon RDS 将自动重启数据库及相关进程。Amazon Aurora 不需要对数据库重做日志进行崩溃恢复回放,因此大大缩短了重启时间。它还会将数据库缓冲缓存与数据库进程隔离开来,这样缓存在数据库重启时就不会丢失了。

包含 Aurora 副本的多可用区部署

发生实例故障时,Amazon Aurora 使用 Amazon RDS 多可用区技术,自动将故障转移到最多 15 个 Amazon Aurora 副本中的一个(您在 3 个可用区中的任意一个内创建的副本)。如果未预置任何 Amazon Aurora 副本,在发生故障的情况下,Amazon RDS 将尝试为您自动创建新的 Amazon Aurora 数据库实例。 使用适用于 MySQL 的 AWS JDBC 驱动程序(一种可以用作 MySQL Connector/J 驱动程序的嵌入式替代品)的开源驱动程序,将故障转移时间降至最低。

全球数据库

对于全局分布式应用程序,您可以使用全局数据库,其中单个 Aurora 数据库可以跨多个 AWS 区域,以实现快速本地读取和快速灾难恢复。全局数据库使用基于存储的复制来跨多个 AWS 区域复制数据库,典型延迟小于 1 秒。您可以使用辅助区域作为备份选项,以防您需要从区域性降级或中断中快速恢复。可以在不到 1 分钟的时间内将辅助区域中的数据库提升为完全读/写功能。

容错和自我修复型存储

每 10GB 的数据库卷组块都能在三个可用区间用六种方法进行复制。Amazon Aurora 存储具有容错能力,能以透明方式应对多达两个数据副本的丢失,而不会影响数据库写入可用性,还能在不影响读取可用性的情况下应对多达三个副本的丢失。Amazon Aurora 存储还具有自我修复能力,可连续扫描数据块和磁盘是否存在任何错误,并自动更换。

自动、连续、增进式备份和时间点还原

借助 Amazon Aurora 的备份功能,您可以对实例进行时间点还原。这样,您就能够将数据库还原到保留期内任何一秒钟的状态,最多可还原到前五分钟的状态。您的自动备份保留期最长可配置为三十五天。自动备份存储在 Amazon Simple Storage Service (Amazon S3) 中,该服务设计具有 99.999999999% 的耐久性。Amazon Aurora 备份是自动、递增且连续的,对数据库性能没有影响。

数据库快照

数据库快照是用户对您存储在 Amazon S3 中的实例发起的备份,将保留到您明确删除它们之前。它们利用自动化的增量快照降低所需时间和存储。您可以在需要时随时从数据库快照创建新实例。

回溯

您可使用回溯将数据库快速倒回之前的时间点,而不需要利用备份还原数据。这使您可以快速从用户错误(比如删错表格或行)中恢复。当您启用回溯后,Aurora 将保留指定的回溯持续时间段内的数据记录。例如,您可以将回溯设置为最高可以将数据库回退 72 小时。回溯在几秒钟内即可完成,即使针对大型数据库也是如此,因为无需复制任何数据记录。您可以向前和向后追溯,以找到错误发生前的时间点。

回溯对于开发和测试也十分有用,特别是测试删除或以其他方式导致数据无效的情形下。可轻松回溯到原始数据库状态,并且您可以运行其他测试。您可以创建一个通过 API 调用回溯的脚本,然后再运行测试,以便轻松地将其集成到您的测试框架中。

高度安全

网络隔离

Amazon Aurora 在 Amazon Virtual Private Cloud (Amazon VPC) 中运行,这样您可以将数据库隔离在您自己的虚拟网络中,并使用行业标准的加密 IPsec VPN 与您的本地部署 IT 基础设施连接。要了解有关 VPC 中的 Amazon RDS 的更多信息,请参阅 Amazon RDS 用户指南。此外,使用 Amazon RDS,您可以配置防火墙设置并控制对数据库实例的网络访问。

资源级权限

Aurora 与 AWS Identity and Access Management (AWS IAM) 集成,使您能够控制 AWS IAM 用户和组可以对特定 Aurora 资源(例如数据库实例、数据库快照、数据库参数组、数据库事件订阅、数据库选项组)所采取的操作。另外,您还可以为 Aurora 资源添加标签,并控制您的 IAM 用户和组可以对各组具有相同标签(和标签值)的资源执行的操作。有关 IAM 集成的更多信息,请参阅 IAM 数据库身份验证文档

加密

Amazon Aurora 可让您使用通过 AWS Key Management Service (AWS KMS) 创建和控制的密钥加密您的数据库。在通过 Amazon Aurora 加密运行的数据库实例上,静态存储于底层存储的数据都经过加密,同一集群的自动备份、快照和副本也是如此。Amazon Aurora 使用 SSL (AES-256) 保护动态数据安全。

高级审核

Amazon Aurora 允许您记录数据库事件,并且对数据库性能的影响最小。您日后可以对日志进行分析以执行数据库管理、确保安全性、进行管理、确保合规性,等等。您还可以通过将审核日志发送到 Amazon CloudWatch 来监控活动。

完全托管

易于使用

您可以十分轻松地开始使用 Amazon Aurora。只需使用 Amazon RDS 管理控制台或一个 API 调用或 CLI 即可启动新的 Amazon Aurora 数据库实例。Amazon Aurora 数据库实例为您所选择的数据库实例类预配置了合适的参数和设置集。您在几分钟之内即可启动数据库实例并连接应用程序,而无需其他配置。数据库参数组可以提供对数据库的精细控制和微调功能。

监控和指标

Amazon Aurora 提供您的数据库实例的 Amazon CloudWatch 指标,您无需支付额外费用。您可以使用 AWS 管理控制台查看有关您的数据库实例的 20 多个关键运营指标,包括计算、内存、存储、查询吞吐量、缓存点击率以及活动连接。此外,您还可以使用增强监控收集运行数据库的操作系统实例的各项指标。最后,您可以将 Amazon RDS Performance Insights(一种数据库监控工具,可方便地检测数据库性能问题并采取纠正措施)与简单易懂的控制面板配合使用,以可视化方式呈现数据库负载。

自动执行软件修补

Amazon Aurora 会使用最新的补丁来使您的数据库保持最新状态。您可以通过数据库引擎版本管理控制是否以及何时修补实例。Aurora 尽可能使用零停机修补:如果出现合适的时段,则会更新实例,在修补过程中,应用程序会话将保留并且数据库引擎会重新启动,只会导致吞吐量短暂(大约 5 秒)下降。

数据库事件通知

Amazon Aurora 可通过电子邮件或短信通知您重要的数据库事件,例如自动故障转移。您可以使用 AWS 管理控制台或 Amazon RDS API 订阅与您的 Amazon Aurora 数据库相关的 40 多种不同的数据库事件。

数据库快速克隆

Amazon Aurora 支持快速高效的克隆操作,可在数分钟内克隆完整的数 TB 数据库群集。克隆可用于实现许多目的,其中包括应用程序开发、测试、数据库更新以及运行分析查询。如果数据立即可用,将能够大幅加快软件开发和升级项目,并提高分析准确度。

您只需几次点击即可完成 Amazon Aurora 数据库的克隆,且不会发生任何存储费用,除非您使用额外的空间来存储数据的更改。

数据库的启动/停止

只需几次点击即可手动停止和启动 Amazon Aurora 数据库。从而可以轻松、经济地将 Aurora 用于无需数据库始终运行的开发和测试环境。停止数据库不会删除数据。有关详细信息,请参阅启动/停止文档

迁移支持

Amazon Aurora 将企业级安全性、性能、高可用性和耐久性与 MySQL 的低成本和易用性结合在一起。这使其成为将工作负载从昂贵的商业数据库迁移到 AWS 时的绝佳迁移目标。MySQL 的功能使其成为各种数据库工作负载的最佳数据库,适合从简单事务型应用程序到具有复杂 SQL 和存储过程的复杂 OLTP 和 OLAP 工作负载。

可将标准的 MySQL 导入和导出工具与 Amazon Aurora 配合使用。您还可以从 Amazon RDS for MySQL 数据库快照中轻松创建新的 Amazon Aurora 数据库。基于数据库快照的迁移操作一般在一个小时内完成,但具体根据所迁移数据的量和格式而异。

您还可以在 Aurora MySQL 兼容版数据库和在 AWS 内部或外部运行的外部 MySQL 数据库之间设置基于二进制日志的复制。

成本效益

只需按实际用量付费

Amazon Aurora 不要求您支付预先承付款,您只需按小时为所启动的各个实例支付费用即可。此外,在完成某 Amazon Aurora 数据库实例后,您也可以轻松删除此实例。您无需预置多余的存储空间作为安全裕度,只需按实际使用的存储空间支付费用即可。要了解更多详细信息,请访问 Amazon Aurora 定价页面。

优化 I/O 成本

对于需要进行大量分析的工作负载,数据库成本的最大来源通常是 I/O 成本。I/O 是由 Aurora 数据库引擎依靠基于 SSD 的虚拟化存储层执行的输入/输出操作。每个数据库页面读取操作计为一个 I/O。Aurora 数据库引擎依靠存储层发出读取,以获取不在缓冲缓存中的数据库页面。Aurora 中的每个数据库页面均为 16KB,并与 MySQL 兼容。Aurora 的目的是消除不必要的 I/O 操作,以降低成本,并确保资源可服务于读/写流量。只有将事务日志记录推送到存储层,完成耐久型写入时,才消耗写入 I/O。写入 I/O 以 4 KB 单位计算。例如,1024 字节的事务日志记录计为一个 I/O 操作。然而,当事务日志小于 4KB 时,并发写入操作可通过 Aurora 数据库引擎批量进行,以便优化 I/O 消耗。与传统的数据库引擎不同,Amazon Aurora 从不将修改后的数据库页面推送到存储层,进一步节省了 I/O 消耗。

您可以在 AWS 控制台看到 Aurora 实例消耗的 I/O 数量。要查询 I/O 消耗,请转到控制台的 RDS 部分,查看您的实例列表,选择 Aurora 实例,然后在监控部分查找“计算的读取操作”和“计算的写入操作”指标。要了解更多详细信息,请访问 Amazon Aurora 定价页面。

开发人员生产力

Machine Learning

Aurora 直接从数据库提供机器学习功能,让您可以通过熟悉的 SQL 编程语言将基于 ML 的预测添加到您的应用程序中。通过 Aurora 与 AWS 机器学习服务之间的简单、优化且安全的集成,您可以访问一系列 ML 算法,而无需构建自定义集成或移动数据。了解有关 Aurora 机器学习的更多信息。

RDS 代理支持

Aurora 可以与完全托管的高可用数据库代理 Amazon RDS 代理结合使用,使应用程序更加可扩展,更能灵活地处理数据库故障,并且更具安全性。RDS 代理可使应用程序池化和共享已建立的数据库连接,从而提高数据库效率和应用程序的可扩展性。它通过在保留应用程序连接的同时自动连接新数据库实例来缩短故障转移时间。它通过与 AWS IAM 和 AWS Secrets Manager 集成来增强安全性。

北京市海淀区远大路一号B区写字楼

010-88864628

京ICP备09069815号-4

联系我们