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