mysql架构学习——硬件对数据库的影响

时间:2024-03-13 15:32:31

CPU

MySQL不支持多CPU对同一SQL处理(更快的CPU)

衡量数据库处理能力的指标

QPS:每秒同时处理SQL的数量

不要使用32位操作系统


内存

越多越好,但在增加有限

当内存的容量大于文件的大小时,再增加也无法提升数据库的性能

MyISAM将索引存入内存,数据通过操作系统缓存

Innodb将索引和数据都放入内存缓冲

缓存对写入的易处

可以将多次小的写入存入内存缓存再合并成一次写入

选择内存时选择主板支持的最大内存


磁盘

传统机器硬盘

磁盘的读取速度=访问时间+传输时间

四大因素

  1. 存储容量
  2. 传输速度
  3. 访问时间
  4. 主轴转速
  5. 物理尺寸

使用RAID增加磁盘的性能

RAID(磁盘冗余队列的简称)

把多个容量较小的磁盘组成一个容量更大的磁盘,并提供数据冗余来保证数据的完整性的技术

RAID0

将几个磁盘串联在一起,没有提供冗余或错误修复能力,但是实现成本最低

RAID1

称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性

适合存放日志等工作

RAID5

分布式奇偶校验磁盘阵列

mysql架构学习——硬件对数据库的影响

适合于以读为主的业务

RAID10

对磁盘先做RAID1之后对两组RAID1的磁盘在做RAID0,所以对读写都有良好的性能,相对于RAID5重建起来更简单,速度也更快。

mysql架构学习——硬件对数据库的影响


固态存储(闪存)

可擦除的只读存储器

具有更好的随机读写性能和更好的支持并发

但比机械磁盘固态磁盘更容易损坏

SSD

特点

1.使用SATA接口,可以替换传统磁盘而不需要任何改变

2.SARA接口的SSD同样支持RAID技术

PCIE卡(Fusin-IO)

特点

1.无法使用SATA接口,需要独特的驱动配置

2.价格相对于SSD要贵,但是性能比SSD更好

固态存储的使用场景

适用于存在大量随机I/O的场景

使用于解决单线程负载的I/O瓶颈


网络存储SAN和NAS

SAN设备通过光纤连接到服务器,设备通过块接口访问,服务器可以将其当做硬盘使用。

可以承受大量顺序读写,但随机读取效率差

NAS设备使用网络连接,通过基于文件的协议如NFS或SMB来访问

所适用的场景

数据库备份