导读
数据库是企业 IT 系统的核心, 其性能表现会直接影响整体业务系统的性能表现, 而影响数据库性能因素包括系统架构设计, 应用程序业务 SQL 语句, 数据库参数优化配置, 数据库运行的资源能力.
系统架构设计和应用程序业务 SQL 语句都属于数据库外围, 需要从整体业务上去设计优化; 数据库的参数配置, 核心是要根据数据库上的业务和硬件特点细调参数, 丰富的 DBA 经验对此项影响很大, 归属于软件配置内容且随时可调整.
数据库的硬件资源, 在传统企业中属于一项固定资产投资, 前期投资成本高, 后期更换成本更高, 云时代虽然能够随时扩容硬件资源和更换, 但亦受到数据迁移, 业务停服等影响, 因此好的硬件资源选择非常重要.
影响性能的硬件包括 CPU, 内存, 磁盘, 网络:
CPU: 计算能力核心, 其表现会直接影响数据库的逻辑运算能力, 比方说查询计算, 数据聚合, 存储过程效率等.
内存: 对性能非常关键, 其核心是缓存频繁使用数据避免系统频繁与磁盘交互, 性能表现一般都在纳秒级延迟, 一般 OLTP 数据库建议内存和数据空间比例至少要保持在 20%.
磁盘: 相比前两者性能最差, 因此磁盘性能表现直接影响数据库整体表现. 云数据库目前提供两种磁盘, 包括本地盘和云盘, 本地盘性能高 (微秒级延迟) 但存储容量有限, 云盘更大存储容量但性能受限(毫秒级延迟).
网络: 网络影响主要在于带宽, 因此大查询或者大事务, 对网络的要求就很高.
重点分析磁盘性能对业务有影响的因素包括:
延迟: 延迟越低, 系统响应越实时, 如对于交易型系统, 延迟会影响到每次用户操作是否卡顿.
吞吐量: 带宽越高, 并发能力越好, 多用户同时操作时可以并发处理更多需求, 避免排队.
IOPS: 是磁盘并发能力的直接指标, 定义是在特定数据块 (如 4K) 大小下每秒可处理的 IO 请求数.
上面提到本地盘的性能要好于云盘, 那么为什么云数据库 RDS 的发展要往云盘方向走呢? 主要原因除了性能以外, 云盘还有诸多企业特性满足各类业务需求, 如三副本数据存储可保证业务数据可靠性达到 9 个 9, 存储与计算分离, 可支持容量更大同时扩容相对更简单等.
而 ESSD 云盘相对 SSD 云盘, 企业特性有非常大的加强, 同时重点性能表现大大提升, 达到本地盘能力甚至超越. 下面我将重点分析企业级高性能存储 ESSD 的核心能力.
极致性能极致稳定
ESSD 最大实现单实例单盘 100 万 IOPS, 并且读写时延降低 70% , 最快达到 200us, 核心能力的技术保障是 ESSD 首次采用面向未来的架构设计.
首先 ESSD 云盘采用 RDMA 网卡, 在硬件上保障了网络吞吐能力达到了 50Gbps.
其次在软件层面阿里云研发了新一代的底层存储系统, 存储引擎 2.0, 性能表现极致同时坚如磐石, 是稳定性能表现的关键, 高 IOPS 场景下响应时间几乎无抖动. 最后软件架构层面实现了全用户态协议栈, 降低了 70% 时延.
阿里云自研的存储引擎 2.0 新架构是性能提升关键, 实现了用户态文件系统 (FusionEngine), 高性能网络库(OptimizedTCP RDMA), 极致的软件栈优化(实现无锁, 无上下文切换, 零拷贝), 多流映射(吞吐量提升三倍), 实现动态切换(99.9% 分位延迟降为 1/10) 等核心技术.
RDS 率先支持 ESSD 存储, 第一时间为客户提供高性能的数据库服务, 经过实际客户业务测试, MySQL 数据库在云盘容量减少 60% 的前提下, 较 SSD 云盘, ESSD 云盘 TPS 提升 200% 以上, 时延降低 60% 以上.
在线扩容业务永续
磁盘容量规划是非常重要的数据库设计内容, 云时代客户可以先购买够用的小空间容量, 之后根据业务发展弹性扩容空间.
在此之前, 云数据库云盘的扩容都会涉及到业务闪断, 比如说 MySQL5.7 高可用版, SQLServer 2016 标准高可用版, 用户发起磁盘扩容需求后, RDS 管控系统会先在后端扩容备库磁盘空间, 然后做主备切换(涉及业务连接闪断), 最后再原主库扩容磁盘空间, 扩容期间具体的实例主机都会涉及重启, 整个过程约花费半小时(但业务影响只有闪断), 有时也很难解决燃眉之急.
ESSD 云盘支持在线扩容, 此特性确保在数据库接到扩容需求后, 立即执行磁盘空间动作, 无需主备切换, 无需重启数据库实例机器, 简单且方便的保障业务连续访问.
快照备份有备无患
ESSD 云盘集成快照特性, 最多可支持 64 个快照, 支持跨可用区多副本的数据保护能力. 该特性特别适用于数据库的备份需求.
云数据库 RDS 针对 ESSD 的急速快照能力, 研发了全新一代数据库备份系统, 支持利用快照能力备份整个实例, 并且支持全量和增量快照能力, 备份和恢复速度都大大提升. 由于备份效率的提升, RDS 可以提供更大容量, 满足有大空间需求的用户.
极致安全自助可控
云数据库 RDS 通过 ESSD 的安全加密能力, 实现落盘加密功能, 并且支持客户自带秘钥, 满足全部行业的最严安全合规要求, 诸如金融, 保险, 证券等行业.
另外结合 RDS 数据链路加密和 SQL 审计功能, 为应用系统运行期间的链路, 存储, 审计三个维度提供严格的安全保护.
如何购买 RDS ESSD 版实例
购买 RDS 高性能存储 ESSD 版实例过程及其简单, 申请开通权限后, 用户在购买 RDS 实例的时候, 存储类型就可以选择 ESSD 后, 即可点击购买完成实例生产.
云数据库 RDS 存储类型从支持本地盘, 到支持 SSD 云盘, 再到支持 ESSD 云盘, 技术路径演进方向明确, 存储与计算分离, 更高数据可靠性, 更强数据安全性, 更快性能, 更易用企业特性, 功能和能力范围不断增强, 基于 ECS 和 ESSD 的新架构能够充分利用硬件红利, 为企业客户提供最好的数据库服务.
来源: https://yq.aliyun.com/articles/696710