关于mysql:全新-Amazon-RDS-for-MySQL-和-PostgreSQL-多可用区部署选项

35次阅读

共计 3555 个字符,预计需要花费 9 分钟才能阅读完成。

明天,咱们发表推出全新的 Amazon Relational Database Service (RDS) 多可用区部署选项,其事务提交提早最多可提速 2 倍,主动故障转移工夫通常少于 35 秒,并蕴含可读的备用实例。

Amazon RDS 提供两种复制选项,以加强可用性和性能:

  • 多可用区部署可提供高可用性和主动故障转移性能。Amazon RDS 会在第二个可用区中创立数据库的存储级别正本。而后,它会将数据从主数据库实例同步复制到备用数据库实例,以实现高可用性。主数据库实例为应用程序申请提供服务,而备用数据库实例则会在呈现故障时随时接管。Amazon RDS 负责管理故障检测、故障转移和修复操作的各方面事宜,以便应用数据库的应用程序具备高可用性。
  • 只读正本容许应用程序跨多个数据库实例扩大其读取操作。数据库引擎会将数据异步复制到只读正本。应用程序将写入申请(INSERTUPDATE 和 DELETE)发送到主数据库,读取申请 (SELECT) 能够在只读正本之间实现负载平衡。如果主节点呈现故障,您能够手动将只读正本晋升为新的主数据库。

多可用区部署和只读正本有不同的用处。多可用区部署可为您的应用程序提供高可用性、持久性和主动故障转移的服务。只读正本可为您的应用程序提供读取可扩展性。

然而,如果应用程序既须要高可用性、主动故障转移,同时又须要读取可扩展性,该怎么办?

隆重介绍具备两个可读备用实例的新 Amazon RDS 多可用区部署选项。

从明天开始,咱们将增加一个新选项来部署 RDS 数据库。此选项联合了主动故障转移和只读正本:Amazon RDS 多可用区,并带有两个可读备用实例。此部署选项实用于 MySQL 和 PostgreSQL 数据库。这是一个具备一个主实例和两个可读备用实例的数据库集群。它提供的事务提交提早可提速 2 倍,同时提供主动故障转移性能,通常用时不超过 35 秒。

启用新的多可用区数据库集群部署选项后,RDS 将在三个不同的可用区中配置一个主数据库和两个只读正本。而后,它会监督并在主节点呈现故障时启用故障转移。

与传统的只读正本一样,数据库引擎会在主节点和只读正本之间复制数据。与多可用区单备用部署选项相似,RDS 会自动检测和治理故障转移以实现高可用性。

您不用在高可用性或可扩展性之间进行抉择;具备两个可读备用正本的多可用区数据库集群可同时实现两种特质。

有什么好处?

与传统的多可用区部署相比,此新部署选项为您带来了四大劣势:通过改良的提交提早、更快的故障转移、可读的备用实例和失去优化的复制。

首先,应用多可用区数据库集群时,写入操作会变得更快。新的多可用区数据库集群实例利用 M6gd 和 R6gd 实例类型。这些实例由 AWS Graviton2 处理器提供反对。它们装备了用于本地存储的疾速 NVMe SSD,非常适合高速和低提早存储要求。与基于 x86 的同类实例相比,它们的性价比最高可晋升 40%,每个 vCPU 的本地存储容量可减少 50%。

多可用区数据库实例应用 Amazon Elastic Block Store (EBS) 来存储数据和事务日志。新的多可用区数据库集群实例应用实例提供的本地存储来存储事务日志。本地存储通过优化,可为应用程序提供低提早,并进步每秒输出 / 输入操作数 (IOPS)。写入操作将首先写入本地存储事务日志,而后刷新到数据库存储卷上的永恒存储。

其次,故障转移操作通常会比多可用区数据库实例场景中更快的速度执行。由新的多可用区数据库集群创立的只读正本是成熟的数据库实例。该零碎的故障转移用时最长不超过 35 秒,另外还需加上利用任何待处理事务日志的工夫。如果产生故障转移,零碎将齐全主动降级新的主节点,并将原有主节点重新配置为新的读取器实例。

第三,两个备用实例是热备用实例。您的应用程序能够应用集群读取器终端节点将其读取申请 (SELECT) 发送到这些备用实例。它容许您的应用程序在数据库集群的实例之间平均分配数据库读取负载。

最初,利用本地存储处理事务日志能够优化复制操作 。现有的多可用区数据库实例会在存储级别复制所有更改。新的多可用区数据库集群仅复制事务日志,并应用仲裁机制) 来确认至多有一个备用实例认可了更改。当其中一个辅助实例确认事务日志已写入其本地磁盘时,数据库事务将同步提交。

迁徙现有数据库

对于那些领有现有 RDS 数据库并违心利用这一新的多可用区数据库集群部署选项的用户,您能够拍摄数据库快照,以创立现有数据库实例的存储级备份。快照准备就绪后,您能够依据此快照应用多可用区数据库集群部署选项创立新的数据库集群。您的新多可用区数据库集群将是现有数据库的完满正本。

咱们来看看它的实际操作

首先,我将浏览器指向 AWS 治理控制台并导航到 RDS。多可用区数据库集群部署选项实用于 MySQL 8.0.28 或更高版本以及 PostgreSQL 版本 13.4 R1 和 13.5 R1。我抉择任一数据库引擎,并确保版本合乎最低要求。该过程的其余部分与规范 Amazon RDS 数据库启动程序雷同。

在 Deployment options(部署选项)下,我抉择 PostgreSQL,版本 13.4 R1,在 Availability and Durability(可用性和持久性)下,抉择 Multi-AZ DB cluster(多可用区数据库集群)。

下图展现了这种部署服务:

如有须要,我还能够抉择 RDS 用于集群的可用区集。为此,我创立了一个数据库子网组并将集群调配给该子网组。

启动后,我会验证是否已创立了三个数据库实例。我还留神到 Amazon RDS 提供了两个端点:两个可读备用实例的主端点和一个负载平衡端点。

为了测试新集群,我在数据库所在同一平安组中的同一 VPC 中创立了一个 Amazon Linux 2 EC2 实例,并确保我附加了一个蕴含 AmazonSSMManagedInstanceCore 托管策略的 IAM 角色。这让我可能应用 SSM 而非 SSH 连贯实例。

实例启动后,我将应用 SSM 连贯到实例。我装置了 PostgreSQL 客户端工具。

Zsh

sudo amazon-linux-extras enable postgresql13
sudo yum clean metadata
sudo yum install postgresql

我连贯到主数据库。我创立了一个表并插入一条记录。

Zsh

psql -h awsnewsblog.cluster-c1234567890r.us-east-1.rds.amazonaws.com -U postgres

postgres=> create table awsnewsblogdemo (id int primary key, name varchar);
CREATE TABLE

postgres=> insert into awsnewsblogdemo (id,name) values (1, 'seb');
INSERT 0 1

postgres=> exit

为了验证复制是否按预期工作,我会连贯到只读正本。请留神端点名称中的 -ro-。我查看了表构造并输出 SELECT 语句以确认数据已被复制。

Zsh

psql -h awsnewsblog.cluster-ro-c1234567890r.us-east-1.rds.amazonaws.com -U postgres

postgres=> \dt

              List of relations
 Schema |      Name       | Type  |  Owner
--------+-----------------+-------+----------
 public | awsnewsblogdemo | table | postgres
(1 row)

postgres=> select * from awsnewsblogdemo;
 id | name
----+------
  1 | seb
(1 row)

postgres=> exit

在故障转移的状况下,应用程序将断开与主数据库实例的连贯。在这种状况下,应用程序级代码尝试从新建设网络连接十分重要。短时间过后,端点的 DNS 名称将指向备用实例,您的应用程序将可能从新连贯。

要理解无关多可用区数据库集群的更多信息,请参阅咱们的文档。

定价和可用性

具备两个可读备用正本的 Amazon RDS 多可用区部署通常在以下区域提供:美国东部(弗吉尼亚北部)、美国西部(俄勒冈)和欧洲(爱尔兰)。咱们将在此列表中增加更多区域。

您能够在 MySQL 8.0.28 或更高版本以及 PostgreSQL 版本 13.4 R1 或 13.5 R1 中应用它。

定价取决于实例类型。在美国区域,M6gd 实例的按需定价起价为每小时 0.522 美元,R6gd 实例的按需定价为每小时 0.722 美元。与平常一样,Amazon RDS 定价页面蕴含 MySQL 和 PostgreSQL 的详细信息。

您能够立刻开始应用。

更多信息,请拜访链接:https://aws.amazon.com/cn/get…

正文完
 0