内存对数据库性能影响很重要,并且靠增加内存呢,解决大部分IO系统的问题,但是并不能忽略IO子系统
对数据库性能的影响,有时候我们要牺牲内存为代理来提升IO子系统,因为无论如何,因为最终我们的
数据要在磁盘上实现持久存储
所以我们这里再看看磁盘的配置和选择,磁盘的配置和选择呢,我就以4个方面来为大家介绍一下目前一些系统的磁盘
有哪些,他们分别使用传统机器硬盘,使用RAID增强传统机器硬盘的性能,使用固态存储SSD和PCIe卡,以及使用网络存储
NAS和SAN
我们先从传统磁盘来给大家介绍,传统磁盘是我们最常见的存储设备,也是使用最多的一种设备,
这种设备的特点呢,是价格相对较低,而单盘的存储空间较大,但是读写速度也会相对的较慢,传统磁盘的
读写速度呢,取决于它的工作机制
我们先看一下传统磁盘的读取过程,简单的可以分为三步,第一步是移动磁头到磁盘表面的正确位置,
第二步是等待磁盘旋转,使所需的数据在磁头之下,第三步才是等待磁盘旋转过去,这个时候数据被磁头读取
出来,磁盘执行这些操作有多快,也就决定了磁盘的读取速度,主要有两个数字来衡量,第二步称之为访问时间,
也就是移动磁头到磁盘表面上的正确位置,和等待磁盘旋转,所需数据操作之下,这两步时间被称之为访问时间,
第三步等待磁盘旋转过去,所有所需的数据都被磁头输出,这一步被称之为传输速度
这一步称之为传输速度,如何选择磁盘呢,要根据我们要选择的业务来决定,对于磁盘的选择呢,主要考虑到
以下几个因素,第一个是存储容量,当前来说,磁盘的容量呢,很少会成为我们的瓶颈,因为现在的磁盘通常都是
足够大的,单盘几个TB的磁盘已经是可以见到的了,但是对于服务器磁盘来说呢,通常是没有这么大的容量的,
但是我们可以使用RAID技术呢,把小磁盘组合到一起,组成一个大的磁盘阵列,关于RAID技术呢我们在下面会有
介绍,第二个我们选择磁盘要考虑的因素呢,传输速度,也就是我们下面所说的,磁盘读取步骤的第三步,现在的磁盘
的传输速度呢,通常已经足够快了,正如前面第三步所提到的,传输速度取决于主轴转动的速度,数据存储在磁盘上的
密度,再加上主机系统接口的一些限制,不完整的说呢,顺序读取不会成为我们的瓶颈的,第三个因素是访问时间,也就是咱们
上面读取的第二步,操作的时间,对于随机查找而言呢,这通常是一个主要的限制因素,应该选用更快的一种访问时间的一种
磁盘,第四个因素呢,就是主轴的转速,现在常用的转速呢,通常是7200转,或者15000转这样的,一种磁盘,转速不管是对于
传输速度,还是对于访问时间来说呢,都很重要,由前面的步骤我们能够看到,磁盘转的越快,我们磁盘移动的速度也就越快,
读取的速度同样也会越快,我们要尽量选择一种磁盘转动比较快的磁盘,当前服务器上15000转已经是最好的选择了,第五个
考虑因素呢,就是物理的尺寸,在其他条件相同的条件下,磁盘的物理尺寸呢,也会带来差别,越小的磁盘呢,移动磁头所需要
的时间,就会越短,当然这也可能意味着,磁盘空间也就相对小一些,以上就是传统硬盘要如何选择,下面我们再来看一看提到的
RAID技术