跳至主要内容

Amazon Aurora 文档

Amazon Aurora 是关系数据库服务,融合高端商用数据库和开源数据库的优势。Aurora 与 MySQL 和 PostgreSQL 兼容。

Amazon Aurora 功能:MySQL 兼容版

性能和可扩展性

高吞吐量:Aurora 使用各种不同的软件和硬件技术,以帮助数据库引擎充分利用可用计算、内存和联网。I/O 运算使用 Quorum 等分布式系统技术来提高性能一致性。

无服务器配置:Amazon Aurora Serverless 是面向 Aurora 的配置,其设计可根据应用程序的需求自动启动、关闭以及扩展或缩减容量。Aurora Serverless 可帮助您在云中运行数据库,而无需管理任何数据库实例。还可以在现有或新的数据库集群中将 Aurora Serverless v2 实例与预置实例搭配使用。

一键式计算扩展:您可以使用 Amazon Relational Database Service(Amazon RDS)API 或 AWS 管理控制台,以扩展或缩减预置的实例。计算扩展操作通常可快速完成。

存储自动扩展:Aurora 的设计可自动扩展 I/O,以满足应用程序的需求。随着数据库存储需求的增长,还会增加数据库容量的大小。您的容量将以 10 GB 的增量增加,最大可增加到 128 TiB。为数据库集群使用 Aurora I/O-Optimized 配置时,Aurora 可节省成本。

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

Aurora 支持跨区域只读副本。跨区域副本旨在为您的用户提供快速本地读取,并且每个区域可以具有 15 个额外 Aurora 副本以进一步扩展本地读取。

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

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

Amazon DevOps Guru for RDS

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

可用性与持久性

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

包含 Aurora 副本的多可用区部署:实例失效时,Aurora 使用 Amazon RDS Multi-AZ 技术,其设计可自动失效转移到最多 15 个 Aurora 副本中的一个(您在 3 个可用区中的任意一个内创建的副本)。如果未预置任何 Aurora 副本,在发生故障的情况下,Amazon RDS 的设计可尝试自动创建新的 Aurora 数据库实例。您还可以通过将社群 MySQL 和 PostgreSQL 驱动程序替换为开源的简易兼容的 AWS JDBC Driver for MySQL 和 AWS JDBC Driver for PostgreSQL,以帮助最大限度地减少失效转移时间。您还可以使用 RDS Proxy 降低失效转移时间和提高可用性。如果发生失效转移,Amazon RDS 代理的设计可将请求直接路由到新的数据库实例。

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

容错和自我修复型存储:Aurora 的数据库卷分为 10 GiB 区块并跨三个可用区进行复制,每个可用区保存每次写入的 2 个副本。Aurora 存储旨在应对多达两个数据副本丢失的情况,而不会影响数据库写入可用性,还能在不影响读取可用性的情况下应对多达三个副本丢失的情况。Aurora 存储还可以连续扫描数据块和磁盘是否存在任何错误,并自动更换。

自动、连续、增量备份和时间点还原:Aurora 的备份功能旨在为您的实例启用时间点恢复。这样,您就能够将数据库还原到保留期内任何一秒钟的状态,最多可还原到前 5 分钟的状态。自动备份保留期最长可配置为 35 天。自动备份存储在 Amazon Simple Storage Service(Amazon S3)中,该服务设计具有 99.999999999% 的持久性。Aurora 备份设计为自动、递增且连续备份,对数据库性能没有影响。

数据库快照:数据库快照是用户对您存储在 Amazon S3 中的实例进行的备份,将保留到您明确删除它们为止。它们旨在利用自动化的增量快照减少所需时间和存储。您可以随时从数据库快照创建新实例。

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

安全性

网络隔离:Aurora 在 Amazon Virtual Private Cloud(VPC)中运行,这将帮助您将数据库隔离在自己的虚拟网络中,并使用行业标准的加密 IPsec VPN 与您的本地部署 IT 基础设施连接。此外,当使用 Amazon RDS 时,您可以配置防火墙设置并控制对数据库实例的网络访问。

资源级权限:Aurora 可与 AWS Identity and Access Management(IAM)集成,其设计可让您控制您的 AWS IAM 用户和组可以对特定 Aurora 资源(例如,数据库实例、数据库快照、数据库参数组、数据库事件订阅、数据库选项组)执行的操作。此外,您还可以为 Aurora 资源添加标签,并控制您的 IAM 用户和组可以对各组具有相同标签(和标签值)的资源执行的操作。

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

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

威胁检测

Aurora 与 Amazon GuardDuty 集成,帮助您识别存储在 Aurora 数据库中的数据的潜在威胁。GuardDuty RDS Protection 的设计可分析和监控您账户中现有和新数据库的登录活动,并使用定制的机器学习模型来检测对 Aurora 数据库的可疑登录。如果检测到潜在威胁,GuardDuty 的设计可生成安全检测结果,其中包括数据库详细信息和有关可疑活动的上下文信息。Aurora 与 GuardDuty 的集成旨在提供对数据库事件日志的直接访问,而无需修改数据库,而且不会对数据库性能产生影响。

成本效益

大规模的价格可预测性:无论应用程序的 I/O 使用量如何,Aurora 都可以根据您的性价比和价格可预测性需求提供两个配置选项。这两个配置选项是 Aurora I/O-Optimized 和 Aurora Standard。两个配置选项的设计均可扩展 I/O,以支持要求极为苛刻的应用程序。

Aurora I/O-Optimized 是一种数据库集群配置,专为具有 I/O 密集型工作负载的客户设计,以优化性价比。使用 Aurora I/O-Optimized,您可以为数据库实例和存储付费。

Aurora Standard 是一种数据库集群配置,可为 I/O 使用率低到中等的应用程序提供定价。使用 Aurora Standard,您可以为数据库实例、存储和按请求付费 I/O 付费。

优化 I/O 成本:Aurora 旨在消除不必要的 I/O 操作,以降低成本,并确保资源可服务于读/写流量。只有将事务日志记录推送到存储层,完成耐久型写入时,才消耗写入 I/O 操作。写入 I/O 操作以 4KB 为单位计算。Aurora 可将某些并发写入操作进行批量处理,从而避免将修改后的数据库页推送到存储层,从而进一步节省 I/O 消耗。

将数据库集群配置为 Aurora Standard 配置时,您需要为读取和写入 I/O 操作付费。将数据库集群配置为 Aurora I/O-Optimized 时,无需为读取和写入 I/O 操作付费。

托管

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

监控和指标:Aurora 提供数据库实例的 Amazon CloudWatch 指标,您无需支付额外费用。您可以使用 AWS 管理控制台查看有关您的数据库实例的 20 多个关键运营指标,包括计算、内存、存储、查询吞吐量、缓存点击率以及活动连接。此外,您还可以使用增强监控收集运行数据库的操作系统实例的各项指标。您可以将 Amazon RDS 性能详情(一种数据库监控工具,可检测数据库性能问题并采取纠正措施)与控制面板配合使用,以可视化方式呈现数据库负载。最后,您还可以使用 Amazon DevOps Guru for RDS 检测性能问题,识别性能问题的根本原因,并获得建议以帮助解决问题。 

Amazon RDS 蓝绿部署

Amazon RDS 蓝绿部署的设计让您在 Aurora MySQL 兼容版本上进行更安全、更简单、更快速的数据库更新,且不丢失任何数据。蓝绿部署可以创建暂存环境,该环境镜像生产环境,并且其设计可以使用逻辑复制保持两个环境的同步。蓝绿部署的设计确保您可以在不影响生产工作负载的情况下进行更改,如主要/次要版本升级、架构修改和参数设置更改。

在提升暂存环境时,蓝绿部署会阻止任何对蓝色和绿色环境的写入,直到切换完成。蓝绿部署采用内置的切换防护机制,如果超出最大可忍受的停机时间、检测到复制错误或检查实例运行状况等,则会超时。

自动软件修补:Aurora 旨在使用最新的可用补丁,确保您的数据库保持最新状态。您可以通过数据库引擎版本管理来控制是否修补您的实例以及何时修补。Aurora 尽可能使用零停机时间修补。零停机时间修补的设计旨在:如果出现合适的时段,系统便会就地更新实例、保持应用程序会话不中断,并在修补过程中重启数据库引擎,从而仅导致吞吐量出现短暂下降。

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

数据库快速克隆:Aurora 的设计可支持克隆操作,以快速克隆完整的数 TB 数据库集群。

数据库启动/停止:您可以手动停止和启动 Aurora 数据库。Aurora 的设计确保停止数据库不会删除数据。 

迁移支持

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

或者,AWS Database Migration Service(AWS DMS)在 DMS 控制台中提供内置原生工具,以实现迁移。由于无需预置或扩展复制实例,您只需单击几下即可启动数据库迁移。

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

PostgreSQL 数据库迁移:标准的 PostgreSQL 导入和导出工具可与 Aurora 配合使用(包括 pg_dump 和 pg_restore)。Aurora 还支持从 Amazon RDS for PostgreSQL 导入快照,以及使用 AWS Database Migration Service(AWS DMS)进行复制。

商用数据库迁移

Aurora 为将数据库工作负载移出商业数据库提供环境。Aurora 的设计可提供接近商业数据库引擎的功能,并交付企业级性能、持久性和高可用性。AWS Database Migration Service(AWS DMS)可以通过 DMS 架构转换和 DMS 无服务器等托管功能,帮助加快向 Aurora 的数据库迁移。DMS 架构转换旨在自动评测和转换架构和源对象,使其与目标 Aurora 集群兼容。同时,DMS 无服务器的设计可自动预置、监控和扩展迁移资源。

适用于 Aurora PostgreSQL 的 Babelfish

适用于 Aurora PostgreSQL 的 Babelfish 是 Aurora PostgreSQL 兼容版本的一项功能,旨在让 Aurora 理解来自为 Microsoft SQL Server 编写的应用程序的命令。借助 Babelfish,Aurora PostgreSQL 的设计能够理解 T-SQL(Microsoft SQL Server 专有的 SQL 方言),并支持相同的通信协议。Babelfish 是 Aurora 的内置功能。

开发人员生产力

Trusted Language Extensions for PostgreSQL:Trusted Language Extensions(TLE)for PostgreSQL 是开发套件和开源项目,可让您构建扩展并在 Aurora 上运行,无需 AWS 验证代码。开发人员可使用常见的受信任语言(如 JavaScript、PL/pgSQL、Perl 和 SQL)编写扩展。TLE 旨在阻止访问不安全的资源和限制单个数据库连接的扩展缺陷。Aurora 的设计确保 DBA 可以在线精细控制哪些人员可以安装扩展程序和创建用于运行这些扩展程序的权限模型。

机器学习:Aurora 直接从数据库提供机器学习功能,让您可以通过熟悉的 SQL 编程语言将基于机器学习的预测添加到您的应用程序中。通过 Aurora 与 AWS 机器学习服务之间的集成,您可以访问一系列机器学习算法,而无需构建自定义集成或移动数据。

RDS 代理支持:Aurora 可以与 Amazon RDS 代理这一托管式数据库代理结合使用,后者的设计让应用程序更加可扩展,更能灵活地处理数据库故障,并且更具安全性。RDS Proxy 可使应用程序池化和共享已建立的数据库连接。其可自动连接至新数据库实例,同时保留应用程序连接。其可与 AWS IAM 和 AWS Secrets Manager 集成。

生成式人工智能

Aurora 提供的功能可使机器学习(ML)和生成式人工智能(AI)模型实时处理存储在 Aurora 中的数据,而无需移动数据。借助兼容 Amazon Aurora PostgreSQL 的版本,您可以访问向量数据库功能来存储、搜索、索引和查询机器学习嵌入。

矢量嵌入是一种数字表示法,表示文本、图像和视频等内容的语义含义。生成式人工智能和其他 AI/ML 系统使用嵌入将此内容输入的语义含义捕获到大型语言模型(LLM)中。您可以在 Aurora PostgreSQL 数据库中存储来自机器学习和人工智能模型的嵌入,例如来自 Amazon Bedrock(限量预览版)和 Amazon SageMaker 的嵌入。

Amazon Aurora 可作为 Amazon Bedrock 的知识库,将您组织的私有数据来源连接到基础模型(FM),并在其上启用自动检索增强生成(RAG)工作流程。

Aurora 机器学习的设计支持将机器学习模型作为 SQL 函数公开,允许您使用标准 SQL 调用机器学习模型,向其传递数据,并通过定期调用返回最新嵌入的 SageMaker 或 Bedrock 模型将预测、文本摘要、情绪或嵌入实时返回到您的数据库。

数据 API:数据 API 是用于对 Aurora 数据库执行 SQL 查询的 HTTPS API。数据 API 消除了安全连接到 Aurora 数据库所需的网络和应用程序配置任务,这使得访问 Aurora 就像进行 API 调用一样简单。数据 API 无需使用数据库驱动程序和客户端连接池软件。其还会自动聚合并共享数据库连接。数据 API 可与 AWS IAMAWS Secrets Manager 集成。


开发人员可以通过使用 AWS SDK 构建的应用程序调用数据 API。数据 API 还为 AWS AppSync GraphQL API 提供对 Aurora 数据库的访问权限。

其他信息

有关服务控制、安全特征和功能的更多信息,包括有关存储、检索、修改、限制和删除数据的信息(如适用),请参阅 https://docs.aws.amazon.com/index.html。就 http://aws.amazon.com/agreement 上的 AWS 客户协议或您与 AWS 之间签订的管理您使用 AWS 服务的其他协议而言,这些附加信息不构成文档的一部分。