关于 Amazon Aurora 你所不知道的一切

已发表: 2022-12-07

传统的数据库系统在性能、可用​​性和可伸缩性方面存在许多限制。 Amazon Aurora 是这些限制的解决方案。

数据库对于运行业务的应用程序来说是必不可少的。 它们应该更大、更可靠、更快,以提供更好的服务。 Amazon Web Services 使企业可以轻松管理数据并提高客户满意度。

Amazon 的 AWS Aurora Web 服务就是此类服务的一个示例。 它使用集群卷来管理其数据并将其分配用于紧急备份。

什么是亚马逊极光?

Amazon Aurora 是一种云原生数据库,与开源 MySQL 和 PostgreSQL 完全兼容。 Aurora 支持所有开源 MySQL 功能。 它还允许与在这些数据库上运行的应用程序直接兼容。

Aurora 专为需要完全托管的数据库服务的客户而设计,该服务既具有开源数据库的成本效益和简单性,又具有与商业数据库相同的性能。

Youtube 视频

Aurora 提供的性能比传统 MySQL 快五倍,比 PostgreSQL 好三倍。 Amazon RDS 处理配置、备份和恢复等任务。 没有前期费用,您只需支付月费。

Aurora 的独特之处在于它以商业数据库成本的一小部分提供了卓越运营和企业功能的记录。

Aurora 在全球范围内提供无与伦比的性能、可用​​性、安全性和可靠性。 自 2014 年推出以来,Aurora 一直是 AWS 产品组合中增长最快的服务。

Amazon Aurora 有什么用?

奥罗拉 (Aurora) 的显着增长受到许多行业的强烈兴趣的推动。 在过去的 12 个月里,我们看到了对金融服务、软件和互联网以及娱乐和游戏和零售垂直行业的浓厚兴趣。

亚马逊-极光

客户迁移到 Aurora MySQL 和 Aurora PostgreSQL 以整合他们的 MySQL 和 PostgreSQL 数据库。 我们还看到许多客户从 Oracle 或 Microsoft SQL Server 等遗留数据库迁移到 Aurora PostgreSQL。

这些“挣脱束缚”的客户已经厌倦了支付高额许可费用并将自己锁定在遗留数据库中。 高增长的客户希望在所有地区快速无缝地扩展。 他们还希望能够跨 AWS 服务进行集成。

Amazon Aurora 的优势

以下是使用 Amazon Aurora 的优势:

可扩展性

您可以启用自动缩放。 当您有更多存储空间时,它会增加存储容量。 如果存储空间减少,它也会减少数据库的大小。

成本效益

只需为您使用的处理能力和存储空间付费。 没有前期费用或其他费用。 每月付款很简单。

安全

Amazon VPC 允许您隔离运行数据库的网络。

使用 AWS Key Management Service 创建加密密钥来保护您的数据。

高可用性和耐用性

您可以在许多可用区中创建 Aurora 的副本。

它是一个全球数据库,可以轻松地分布在多个 AWS 区域,这可能会降低本地读/写速度。

迁移支持

要将本地数据库迁移到 Aurora,您可以使用 pg-dump 或 MySQL dump 命令。

完全托管

Aurora 非常易于使用。 使用 AWS RDS 控制台设置实例很容易。 Aurora 使用 Amazon Cloudwatch 提供监控,无需额外费用。

无需担心配置、更新或升级。 亚马逊可以完全控制您软件的所有方面,并将进行任何必要的修补。

Amazon Aurora 的最佳功能

以下是 Amazon Aurora 的最佳功能:

可扩展性:这是 Amazon Aurora 的最佳特性。 数据库会根据存储要求自动增加大小。 卷可以增量增加到 10 GB,最大可以达到 128TB。 这允许无缝存储。

高吞吐量:SysBench 基准测试显示吞吐量增加了 5 倍。 Amazon Aurora 采用各种软件和硬件技术来最大化可用内存、计算和网络。 为了提高性能一致性,输入和输出操作使用分布式系统技术,例如仲裁。

监控和修复实例:Amazon RDS 持续监控 Amazon Aurora 数据库以及底层 EC2 实例的运行状况和性能。 如果数据库和所有相关进程发生故障,Amazon RDS 会自动重启数据库。

加密:Amazon Aurora 允许您使用您通过 AWS Key Management Service 控制和创建的密钥来加密数据库,从而提供高安全性。 Amazon Aurora 使用 SSL 加密来保护传输过程中的数据。

易于使用:Amazon Aurora 易于使用。 Amazon RDS 管理控制台用于创建新的 Amazon Aurora 数据库实例。 此 API 调用或 CLI 仅进行一次 API 调用。 Amazon Aurora 数据库实例针对每种数据库实例类型预先配置了适当的参数和设置。

成本效益:只需为您使用的东西付费。 没有预付费用或其他费用。 每月付款很简单。

迁移支持:要将本地数据库从 Aurora 迁移到 Aurora,您可以使用 pg-dump 或 MySQL dump 命令。

Aurora 是完全托管的:您可以立即开始使用它。 您需要做的就是使用 AWS RDS 控制台创建实例或从您的代码调用 API。 无需担心配置、更新或升级。

亚马逊极光架构

Aurora 数据库的整个架构建立在传统的 DBMS 之上。 它重用了大部分 DBMS 组件,例如事务管理器、查询执行引擎和恢复管理器。

Amazon Aurora 是一种超越传统游戏的新型 DBMS。 它对现有的 DBMS 进行了许多改进,以提高它们的可用性、可靠性和可扩展性。

这些变化是:

  • 使用主副本设置
  • 数据远程存储可复制
  • 仅更改日志将保存到远程磁盘

Amazon Aurora 的架构可以横向扩展传统关系数据库的存储层。

Amazon Aurora 的主数据库实例将重做日志传递到其存储层进行处理。 日志由存储层处理,它创建和存储新的页面版本并将所有内容备份到 S3。

亚马逊极光架构
图片来源:AWS

Amazon Aurora 只需要创建额外的数据库引擎实例,并在扩展期间将它们与现有存储层连接起来。 这通过将并行处理的这些任务委托给存储层来消除数据复制中的瓶颈。

这允许创建许多新功能,例如:

  • 即时崩溃恢复:您不需要从上一个检查点重放日志
  • 快速故障转移:无需担心哪个副本数据库具有最新的重做日志记录。 存储层负责处理。
  • 回溯:因为存储层有流式重做日志,它可以将数据“倒回”到过去的特定点,而不必从 S3 备份恢复检查点

设置亚马逊极光

以下是成功设置 Amazon Aurora 的步骤。

#1。 登录 AWS 管理控制台并打开 RDS。

亚马逊 rds

#2。 单击创建数据库

创建数据库

#3。 选择引擎选项作为Amazon Aurora。

亚马逊极光

#4。 选择您需要的Aurora MySQL版本。

极光mysql

#5。 创建数据库集群标识符并设置凭证设置用户名和密码。

极光设置

#6。 从下拉选项中选择实例配置,然后选择是否创建副本的选项。

极光实例配置

#7。 选择连接选项,如下所示。

极光连通性

#8。现有 VPC 安全组中选择或创建一个新的。

极光vpc

#9。 启用增强监控,选择粒度和监控角色选项。

#10。 最后,点击创建数据库

极光监测

#11。 您已成功创建 Amazon Aurora 数据库。

极光数据库

定价模式:Amazon Aurora

Aurora Serverless ACU v2 每小时收费 0.12 美元,是预配置 Aurora ACU 价格的两倍。 这表示:

  • 当前最低运行成本:4 个 ACU,每小时 0.48 美元或每月 350 美元
  • 对于病态触发自动扩展功能的工作负载,半个 ACU 至少可扩展 30 秒或 0.0005 美元。

Aurora Serverless V2 的每月费用为 350 美元。 每个自动缩放事件将至少收取 0.0005 美元。 尽管等效的 Aurora 容量为每月 175 美元,但它不会具有响应式无服务器自动缩放功能。

使用案例:Amazon Aurora

#1。 软件即服务 (SaaS)

它使用可以在存储和实例扩展方面灵活的多人才架构。 因此,Amazon Aurora 让公司可以专注于开发高质量的应用程序,而不用担心数据库。

#2。 游戏目的

AWS Aurora 以与关系数据库相同的方式运行。 它提供高吞吐量、海量存储容量、高可用性和高可用性。

#3。 企业应用

Amazon Aurora 与任何已经比关系数据库更可靠的公司兼容。 Aurora 具有成本效益,因为与其他选项相比,它可将价格降低多达 90%。

Aurora 对 MySQL 和 PostgreSQL 的兼容性

Amazon Aurora 专为高性能、全球可用性和完全 MySQL/PostgreSQL 兼容性而构建。 标准工具可让您轻松地从 Aurora 迁移 MySQL 和 PostgreSQL 数据库。 您还可以使用适用于 Aurora PostgreSQL 的 Babelfish 运行旧版 SQL Server 应用程序,只需最少的代码更改。

Amazon Aurora 使用标准的 PostgreSQL 导入/导出工具,例如 pg_dump 或 pg_restore。 您还可以使用 Amazon RDS 或 MySQL 数据库快照创建新的 Amazon Aurora 表。

数据库快照通常可以很快完成,但这取决于迁移的数据量和数据格式。

亚马逊极光与亚马逊 RDS

架构设计

RDS 架构的相似之处在于它允许您手动在 Amazon EC2 上安装数据库引擎,但将配置和维护留给 AWS。 RDS 提供许多功能,如自动故障转移、备份等。RDS 使用 Amazon EBS 卷来存储日志和数据库数据。

Aurora 数据库存储系统可靠且容错。 Aurora 的数据库存储独立于实例。 Aurora 将数据存储在六个副本中,每个副本有 10GB 块。 这些副本分布到三个可用区。 即使您只有一个 Aurora 实例,您的数据仍然会有六个副本。

表现

RDS 使用 SSD 存储来提高 I/O 吞吐量性能。 有两种支持 SSD 的存储选项可用。 一种用于高性能 OLTP 应用程序,而另一种用于通用、经济高效的用途。

Aurora 在可比硬件上提供的性能是 PostgreSQL 的两倍和标准 MySQL 的五倍。 Aurora 的性能一直更高、更稳定。

数据库引擎支持

RDS 与 MySQL、PostgreSQL 和 MariaDB 以及 Microsoft SQL Server 和 Oracle 兼容。

Aurora 兼容 PostgreSQL 和 MySQL。 这意味着您可以在 PostgreSQL 和 MySQL 上使用现有的数据库工具和应用程序,而无需进行任何更改。

耐用性和可用性

Aurora 具有独特的存储模型,允许以极低的 RPO(恢复点目标)进行连续备份和恢复。 这使得它比 RDS 更可靠、更耐用。

Aurora 中的数据在设计上是持久的。 您的数据总是有多个副本。 每个 Aurora 集群有六个存储节点,分布在三个可用区中。 即使你只有一个计算节点,你的数据仍然有多个副本。

弹力

由于其架构设计,Aurora 比 RDS 更具弹性。 它可以快速从故障中恢复。 如果计算节点崩溃,Aurora 可以快速恢复。

贮存

RDS 存储自动扩展将存储容量扩展到 64 TiB(SQL Server 的 16 TiB 除外)以适应不断增长的数据库工作负载。 没有停机时间。

Aurora 通过将存储从最小 10 GB 增加到最大 128 TiB 来自动增加存储。 存储以 10 GB 的增量增加,对数据库性能没有任何影响。

可扩展性

垂直扩展:RDS 和 Aurora 都允许您将内存和计算资源扩展到最大 244 GiB RAM 和 32 个虚拟 CPU。 在几秒钟内,您可以扩展操作。

Aurora Auto Scaling Dynamic:Aurora Auto Scaling 通过使用单主复制动态调整 Aurora 数据库集群可用的 Aurora 副本数量。 RDS 不支持此类 Auto Scaling。

复制

RDS 可用于提供最多五个副本。 复制过程也比 Aurora 慢。

Aurora 最多可以配置 15 个副本,复制只需几秒钟。 Aurora 的扩展速度更快,因为它可以快速添加新的只读副本。

故障转移

在 RDS 中,读取副本的故障转移是手动发生的。 这可能会导致数据丢失。 多可用区(备用实例)可用于自动进行故障转移并防止数据丢失。

为防止数据丢失,Aurora 使用故障转移自动读取副本。 Aurora 的故障转移时间更快。

集群端点

RDS 有一个集群端点,您可以使用它来执行写入查询。 它是指向您当前主数据库实例的 DNS 指针。 RDS 在故障转移期间通过简单的 DNS 更改将端点路由到新的主服务器。

集群端点在 Aurora 中仍然可用,用于编写查询。 此端点还充当读取复制的负载平衡器。 此端点可用于回答您的读取查询。

备份

RDS 在数据库实例的备份窗口期间自动创建并保存数据库实例的备份。 RDS 将您的数据库实例快照作为存储卷,备份所有数据库,而不仅仅是您选择的数据库。

Aurora 自动备份集群卷并在备份保留期内不断恢复数据。 Aurora 备份是连续和增量的,因此您可以快速恢复备份保留期内的任何点。

以下是 Amazon Aurora 与 Amazon RDS 的汇总表:

亚马逊极光亚马逊 RDS
您可以将存储空间从 10 GB 扩展到 64 GB RDS 允许所有引擎使用 64 GBS,但 SQL Server 仅允许使用 16 GB
您可以将内存和计算扩展到最多 32 个 vCPU 和 244 GiB RAM 和极光一样
支持 MySQL 和 PostgreSQL 支持 Microsoft SQL Server、MariaDB、Oracle 数据库、MySQL、PostgreSQL 和 Amazon Aurora
支持十五个副本支持五个副本
定价取决于 I/O 操作您可以免费试用,没有最低使用费

Amazon Aurora 与 DynamoDB

耐用性和可用性

每条 DynamoDB 数据都被复制到多个物理节点。 亚马逊将这些物理节点放置在多个区域(也称为可用性区域),以确保在发生火灾或重大停电等灾难时的高耐用性和可用性。 即使一个副本宕机,操作也会继续。 SSD 还非常可靠和耐用。

备份和恢复

DynamoDB 提供按需备份和 PITR(时间点备份),允许您访问任何数据库状态。 DynamoDB 能够备份任意数量的数据。 性能和可用性不会受到影响。 备份只需很少的时间,用户不必担心备份计划或后台进程。 AWS 允许通过一次 API 调用进行备份恢复。

Amazon Aurora 备份过程类似于 DynamoDB。 它是在没有任何性能中断或数据库服务中断的情况下创建的。 Amazon 备份保存在 S3 存储桶中。 如果我们不指定备份窗口,Aurora 会自动创建 30 分钟的备份。

访问控制

DynamoDB 通过限制数据库创建和查询权限的细粒度策略来支持 IAM 用户和角色。 Amazon Aurora 也有类似的权限方案。

但是,Aurora 也提供了兼容 MySQL 和 PostgreSQL 的连接接口来连接数据库。

DynamoDB 是一种区域服务,不受 VPC 边界的约束。 但是,Aurora 数据库集群需要建立在明确定义其网络边界的 VPC 中。 您还可以使用 VPC 安全组来控制允许哪些设备或 Amazon EC2 实例连接到数据库实例。

下面是 Amazon Aurora 与 DynamoDB 的汇总表:

亚马逊极光动态数据库
支持MySQL和PostgreSQL的关系型数据库NoSQL 数据库
多区域,单主多区域、多主机
副本可以在一分钟内提升为主高可用性
复制延迟小于 1 秒复制延迟为亚毫秒

结论

就是这样。 我们都在进入关系数据库的新时代,而 Aurora 只是一个开始。 客户的反应是压倒性的同意。 每个行业的领导者——如 Capital One、Dow Jones、Netflix 和 Verizon——都在将他们的关系数据库工作负载迁移到 Aurora,包括 MySQL 和 PostgreSQL 兼容版本。