本文将介绍您在考虑使用阿里云 ApsaraDB 进行 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 需要暂时停止节点运行,这或许是它最大的区别所在。
我担心更改规格时会造成停机时间,所以我创建了一个如下所示的测试数据库。
创建数据库 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,您可以在 Performance Insights 中查看类似的指标,但这需要额外付费。PolarDB
上没有任何相关信息*7,因此它似乎是免费的。
您还可以使用 CloudMonitor 设置警报。
而且您猜怎么着?CloudMonitor 也是免费的!太棒了!
概括
这次,我从操作的角度介绍了 PolarDB 的特性和实用功能。
本文不包含实际的安装步骤,但
了解其特性和功能对于在新项目中使用 PolarDB 或从其他关系型数据库迁移至关重要,因此
我希望本文能对正在考虑使用 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
