如何选择合适的云数据库 MySQL 实例?
在您购买云数据库 MySQL 实例前,需先了解不同实例的特点,才能根据业务选择合适的实例,以下为您介绍如何选购适合您业务的云数据库 MySQL 实例。
实例选型信息了解
在购买云数据库 MySQL 实例之前,您需要考虑价格、性能、工作负载、业务使用场景等因素,以确保您能够以最优的性价比购买到合适的实例。由于数据库存储引擎、实例架构、存储类型和隔离策略之间紧密相关且相互影响,在选择时可能会遇到不少疑惑。因此,本文将简要介绍这几个部分,协助您选择合适的实例。
一、数据库存储引擎
存储引擎是指表的类型,数据库的存储引擎决定了表在计算机中的存储方式。
InnoDB:最常用的 OLTP 存储引擎,采用了多版本并发控制(MVCC)和行级锁定技术,以提供高性能和可靠的事务处理能力。相对于 MySQL 的其他存储引擎,InnoDB 支持更好的数据完整性,包括外键和回滚等,还提供了更高级别的查询功能,同时腾讯云对 InnoDB 做了很多内核优化,使其具有更加明显的性能优势,被广泛应用于高性能、高并发的应用场景中。
RocksDB:一个非常流行的高性能持久化 KV(key-value)存储,TXRocks 是腾讯 TXSQL 团队基于此开发的事务型存储引擎。TXRocks 事务型存储引擎得益于 RocksDB LSM Tree 存储结构,既减少了 InnoDB 页面半满和碎片浪费,又可以使用紧凑格式存储。因此,TXRocks 在保持与 InnoDB 接近的性能前提下,存储空间相比 InnoDB 可以节省一半甚至更多,更适合对事务读写性能有要求,且数据存储量大的业务。
二、实例架构
云数据库 MySQL 支持单节点、双节点、三节点、集群版四种实例架构。
架构 | 说明 | 适用场景 |
单节点 | 支持版本:MySQL 5.7、8.0。 节点:单个节点。 | 个人学习、微型网站、企业非核心小型系统以及大中型企业开发与测试环境。 |
双节点 | 支持版本:MySQL 5.6、5.7、8.0。 节点:一主一备。 主备复制方式:异步(默认)、半同步。 | 游戏、互联网、物联网、零售电商、物流、保险、证券等行业应用。 |
三节点 | 支持版本:MySQL 5.6、5.7、8.0。 节点:一主两备。 主备复制方式:异步(默认)、强同步、半同步。 | 游戏、互联网、物联网、零售电商、物流、保险、证券等行业应用。 |
集群版 | 支持版本:MySQL 5.7、8.0。 节点:一个读写节点和最多5个只读节点。 主备复制方式:异步、半同步(默认)。 | 游戏、互联网、物联网、零售电商、物流、保险、证券等行业应用。 |
三、存储类型
云数据库 MySQL 的底层存储支持本地 SSD 硬盘、SSD 云硬盘、增强型 SSD 云硬盘、极速型 SSD 云硬盘。
性能指标 | 极速型 SSD 云硬盘 | 增强型 SSD 云硬盘 | SSD 云硬盘 | 本地 SSD 硬盘 |
单盘最大容量(GB) | 30000 | 30000 | 30000 | 12000GB |
单盘最大 IOPS | 叠加额外性能后达1000000 | 叠加额外性能后达到100000 | 26000 | 150000 |
随机 IOPS 性能计算公式 | 基准性能:随机 IOPS = min{4000+容量(GiB)×100, 50000}
额外性能:最大 IOPS =
min{额外性能值×128, 950000} | 基准性能:随机 IOPS = min{1800+容量(GiB)×50, 50000} | 随机 IOPS = min{1800+容量(GiB)×30, 26000} | |
单盘最大吞吐量(MB/s) | 叠加额外性能后达到4000MB/s | 叠加额外性能后达到1000MB/s | 260MB/s | - |
吞吐性能计算公式(MB/s) | 基准性能:吞吐 = min{120+容量(GiB)×0.5, 350}
额外性能:吞吐 = min{额外性能值×1, 3650} | 基准性能:吞吐 = min{120+容量(GiB)×0.5, 350} | 吞吐 = min{120+容量(GiB)×0.2, 260} | - |
单路随机读写时延(ms) | 0.1ms - 0.5ms | 0.2ms - 1ms | 0.5ms - 3ms | μs级 |
四、隔离策略
云数据库 MySQL 的隔离策略,包括基础型、通用型、独享型、标准型以及加强型。
隔离策略 | 描述 |
基础型 | 仅单节点支持基础型隔离策略(原基础版),计算与存储分离,底层采用云盘存储。 |
通用型 | 独享被分配的内存和磁盘,与同一物理机上的其他通用规格实例共享 CPU 资源。* 通过资源复用享受规模红利,性价比较高,CPU 资源轻微复用。 |
独享型 | 完全独享的 CPU(绑核)、内存以及磁盘资源,性能长期稳定,不会因为物理机上其它实例的行为而受到影响。 独享型的顶配是独占物理机,完全独占一台物理机的所有资源。 |
标准型 | 独享分配的 CPU 和内存,性能长期稳定。 计算与存储分离架构,可以灵活选配。 |
加强型 | 更高频的 CPU 核心,提供最佳性能。 独享分配的 CPU 和内存,性能长期稳定。 计算与存储分离架构,可以灵活选配。 支持极速型 SSD 云硬盘,提供稳定可靠的性能。 |
*通用型在极端情况下(极小概率)可能出现资源争抢的情况。
开始选型
您可以参考以下步骤进行实例选型:
1. 选择数据库存储引擎
如果您需要完整的事务支持与强大的读写高并发能力,推荐您选择 InnoDB。
如果您需要降低存储成本,建议您使用 RocksDB,存储空间相比 InnoDB 可以节省一半甚至更多,同时性能也与 InnoDB 相似。
2. 选择实例架构
单节点:适用于个人学习、微型网站、企业非核心小型系统以及大中型企业开发与测试环境。
双节点:采用一主一备的经典高可用架构,适合互联网、物联网、零售电商、物流、游戏等行业或大中型企业。
三节点:需要具备金融级的可靠性、高安全性、高可用性、高容灾能力,业务类似于金融、证券、保险行业,或大型企业的核心数据库。
集群版:适合业务比较复杂,业务变化较大,数据库量较大,对读性能要求较高,需频繁扩缩容或增/删只读实例,同时需要具备高可靠性、高安全性、高可用性、高容灾能力的企业。
3. 选择存储类型
双节点和三节点架构的实例,当前支持选择的存储类型为本地 SSD 硬盘,单节点架构的实例支持选择的存储类型为 SSD 云硬盘和增强型SSD 云硬盘,集群版架构的实例支持选择的存储类型为极速型 SSD 云硬盘、增强型 SSD 云硬盘和 SSD 云硬盘。
单节点云盘架构的实例,是基于云原生架构实现,满足测试、开发、个人学习等场景使用,最大支持30T存储空间,存储空间大小对 IOPS 会有影响。
关于各存储类型的性能指标对比,详见 存储类型。
4. 选择隔离策略和实例规格
单节点架构支持的隔离策略为基础型,双节点、三节点架构支持的隔离策略为通用型和独享型,集群版架构支持的隔离策略为标准型和加强型,实例规格的参数包含 vCPU、内存、最大 IOPS、最大存储容量,您可根据业务需要选择适合的隔离策略和实例规格。
说明: