介绍在考虑使用阿里云PolarDB时您应该了解的特性和有用的功能

我是寺冈,一名基础设施工程师。
这次我想和大家聊聊阿里云上的某项服务。

阿里云在日本推出新服务,包括云数据库“ApsaraDB for PolarDB”。

20日,阿里云宣布将在日本的公共云平台“阿里云”上推出关系型数据库“ApsaraDB for PolarDB”。

它终于来了……

因此,这次我们希望充分利用 PolarDB 在日本地区的功能,并
介绍一些有用的功能,帮助您将其用作服务的数据库!

ApsaraDB 是 PolarDB 的什么功能?

首先,让我简单介绍一下 PolarDB。PolarDB
是一款托管关系型数据库服务,兼容 MySQL、PostgreSQL 和 Oracle。
它由阿里巴巴自主研发,被誉为下一代托管分布式关系型数据库服务 (RDS),
能够提供高性能和高性价比。

正如您在实际使用中看到的那样,
它的设计以 AWS Aurora 为目标,旨在与其他云服务竞争
。英特尔的测试
表明,与 Amazon Aurora 相比,它的 QPS 提高了约 1.3 倍,95% 延迟提高了约 1.8 倍。 *1

如果你正在考虑使用 Aurora,你可能想了解它的功能以及它的独特之处。
我想通过比较来总结一下。

PolarDB 的特点及其与 Aurora 的区别

建筑学

PolarDB 和 Aurora 都被称为分布式关系数据库服务。
下图是 PolarDB 的架构图,大致可以分为四个概念。 *2

它就像一个逻辑组,由一个主节点和 N 个只读节点组成。
创建集群时,系统会自动分配一个名为“集群端点”的 DNS 记录。
通过访问此端点,您可以向数据库发出 SQL 语句。

此外,PolarDB 端点支持读/写隔离。※3

  • 写入请求:已发送至主节点
  • 读取请求:根据各节点的负载情况,发送到主节点或只读节点。

这样一来,要连接的节点就由内部自动确定。Aurora
有独立的读写端点,而
PolarDB 只有一个端点,并在内部进行适当的数据分发,这很方便。

主节点

这是集群中唯一一个可以同时执行读写操作的节点。
对数据库的写入请求通常在此节点上执行。Aurora
具有多主功能,允许使用多个主节点,但
PolarDB 不具备此功能,因此目前无法将写入请求分布到多个节点上。

只读节点

这些是只读节点,集群内最多可以启动 15 个。
虽然可以手动增加或减少节点数量,但利用 DAS(数据库自治服务)
可以根据负载情况进行横向扩展/缩减。 *4
自动调用功能和最多启动 15 个节点的能力与 Aurora 相同,由此可见
,他们在功能方面非常用心。

块服务器

PolarDB 和 Aurora 都将每个节点的计算和存储过程完全分离。PolarDB
的存储处理由称为“块服务器”(Chunk Server)的组件负责。
数据库数据存储在该块服务器上,并且
可以根据数据量自动扩展或缩减存储容量。Aurora
也具备自动存储扩展功能,但最大扩展容量不同:
Aurora 最大可扩展至 64TB,而 PolarDB 最大可扩展至 100TB。

PolarDB 的实用功能

以下是我在实际使用中发现的一些实用功能。

DTS提供数据迁移支持

如果您是第一次使用 PolarDB,则无需考虑这一点;但
如果您要从现有服务的数据库切换过来,则需要考虑以下事项。

  • 如何从现有数据库迁移数据
  • 如何减少切换到 PolarDB 时的停机时间

在这种情况下,PolarDB 允许使用 DTS(数据传输服务),所以
我认为他们提供数据传输途径非常棒。 *5

在线规模扩大/缩小

PolarDB 可以在在线时进行扩展和缩减,这可能是它
与 Aurora 的最大区别,因为 Aurora 需要暂时关闭节点。

我担心更改规格时会造成停机时间,所以我创建了一个如下所示的测试数据库。

创建数据库 TEST; 创建表 test ( 列 int(10) DEFAULT NULL ) ENGINE=InnoDB;

更改规格时,我每秒发布一次更新进行检查。

更新测试集列=unix_timestamp();

控制台显示一条消息,称您将最多 30 秒内无法连接,但
完成更改过程总共用了 10 分钟,而连接错误只持续了大约 10 秒。

另一方面,Aurora 在更改配置时需要停止节点,这
会导致大约 5 到 10 分钟的停机时间。
为了避免这种情况,常见的做法是
在 Aurora 中选择所需的配置,添加一个新的只读节点,然后
手动将该节点故障转移到写入节点,从而
最大限度地减少停机时间。

即使使用故障转移,仍然需要 10 秒以上,所以
我认为 PolarDB 的速度肯定更快。

看起来你可以容忍大约 10 秒的停机时间!

加强监测项目

PolarDB提供多种
*6 这非常棒,因为您不仅可以检查 CPU 等资源,还可以检查与 InnoDB 相关的性能指标。

对于 Aurora,您可以在性能洞察中查看类似的指标,但需要额外付费。PolarDB
没有定价 ※7

您还可以使用 CloudMonitor 设置警报。
实际上,CloudMonitor 也是免费使用的,这真是太棒了!

概括

本文从操作角度介绍了 PolarDB 的特性和实用功能。
虽然本文并未包含实际的安装步骤,但
对于在新项目中使用 PolarDB 或从其他关系型数据库 (RDB) 切换过来的用户来说,了解其特性和功能至关重要,因此
我希望本文能对正在考虑使用 PolarDB 的用户有所帮助。
我也会持续关注 PolarDB 的未来更新。

来源

*1 https://www.intel.com/content/www/us/en/products/docs/storage/alibaba-cloud-polardb-solution-brief.html
*2 https://www.sbcloud.co.jp/entry/sol/polardb/
*3 https://www.alibabacloud.com/help/ja/doc-detail/68510.htm
*4 https://www.alibabacloud.com/help/doc-detail/169686.htm
*5 https://jp.alibabacloud.com/product/data-transmission-service
*6 https://www.alibabacloud.com/help/ja/doc-detail/68555.htm
*7 https://www.alibabacloud.com/help/ja/doc-detail/68498.htm

如果您觉得这篇文章有帮助,请点赞!
1
加载中...
1 票,平均:1.00 / 11
1,580
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者

寺冈由纪

于 2016 年加入 Beyond,目前是他担任基础设施工程师
MSP 的第六个年头,他负责排除故障,同时
使用 AWS 等公共云设计和构建基础设施。
最近,我
一直在使用 Terraform 和 Packer 等 Hashicorp 工具作为构建 Docker 和 Kubernetes 等容器基础设施以及自动化操作的一部分,并且我
还扮演了在外部学习小组和研讨会上发言的传播者的角色。

・GitHub
https://github.com/nezumisannn

・演示历史
https://github.com/nezumisannn/my-profile

・演示材料(SpeakerDeck)
https://speakerdeck.com/nezumisannn

・认证:
AWS认证解决方案架构师-
谷歌云专业云架构师