使用固态存储SSD或PCIe卡

说完了传统式机械式磁盘,和RAID之后,我们来说一下现在另外一种存储设备,也就是固态存储,SSD或者是

PCI-E卡,固态存储呢,也称之为闪存,这并不是一种很新的存储技术,只是他作为新一代存储呢,成本上和可用性上

接受才是最近几年的事情

使用固态存储SSD或PCIe卡_第1张图片

我们先来看固态存储,相对于传统的机械磁盘有哪些特点,首先来说,固态存储相对于机械磁盘,有更好的

随机读写性能,大家知道,对于数据库应用来说呢,随机的读写性能呢,远远比顺序的读写性能要重要的多,

因为在通常情况下,顺序读写的速度呢,都已经很快了,已经能够满足数据库的需要了,但是遇到随机读写呢,

就会大幅的下降,所以在数据库应用中,使用固态磁盘,比加强随机读写的性能,但是对于固态存储本身的特性呢,

他的随机读的性能呢,也好于他的随机写的性能,而相比于机械磁盘,固态磁盘第二特点就是呢,有更好支持的并发,

固态存储设备呢,可以支持更多的并发的操作,同时也只有在大量并发请求情况下呢,才能真正的体现出,这种固态

存储的吞吐量,也才能发挥固态存储的优势,固态存储设备呢,在大并发下,提供了良好的随机IO性能,这正是关系型

数据库,所需要的,第三点呢,相比于机械磁盘来说,固态磁盘不容易损坏,前两点都是固态磁盘的一些优点,而对于

第三点呢,可以说是固态存储的一个缺点,由于固态存储的本身的缺点,每次在写入前都要对写入的单元擦除操作,

所以呢对固态存储本身呢,也有一定的损耗,长时间密集的写操作,容易损耗存储设备,并且在使用固态存储设备的时候呢,

随着使用空间的增长,性能也会有所下降,下面我们来介绍数据库应用中比较常见的两种存储设备,一个是SSD,一个就是

PCI-E卡,我们来看看固态硬盘的特点,SSD也就是咱们常说的固态硬盘,相信大家对这个设备已经比较熟悉了,几年前

SSD还是比较昂贵的一种设备,现在咱的PC电脑中呢,已经开始使用这种存储设备,而代替传统的机械磁盘,他的主要特点

是什么呢

使用固态存储SSD或PCIe卡_第2张图片

其一就是可以使用SATA接口,直接替换传统的磁盘,而不需要任何特殊的驱动和接口,简单来说,

我们可以把SSD直接插到服务器,或者原来SATA接口上,就可以使用了,当然这也使得SSD的数量呢

会受到这种接口数量的限制,如果把SATA3接口的硬盘呢放到SATA2接口的服务器上,那么就会受到SATA2

接口速度的影响,SATA的第二个特点呢,由于它是直接使用SATA接口的,和机械磁盘一样,我们可以使用SATA接口的

SSD硬盘来做RAID,我们在前面介绍了一些RAID技术,RAID技术对SSD技术同样适用,由于固态存储的特点呢,所以我也很

建议大家呢,SSD硬盘上的数据呢,进行RAID的配置,然后进行数据冗余,但是有一点要注意,SSD所使用的RAID控制器呢,

同我们传统磁盘所使用的是不同的,因为磁盘本身的特点是不太一样的,所以大家在SSD选择RAID控制器的时候呢,要注意

的一条,我们要选择支持SSD存储设备的RAID卡,才能够对SSD进行RAID配置

使用固态存储SSD或PCIe卡_第3张图片

接下来我们在来看看另外一种,固态存储设备,也就是PCI-E卡,PCI-E卡这个名字呢,大家有一点点陌生,

但是说另外一个名字,Fushion-IO大家可能就有一点印象了,Fushion-IO就是使用闪存技术的,PCI-E卡设备

使用固态存储SSD或PCIe卡_第4张图片

这种设备的特点是,不能像SSD那样,直接使用传统磁盘的SATA接口上,而需要PCI-E接口,和单独的驱动器,

才能够使用,前年说了SSD虽然可以直接使用在原来的磁盘接口上,但是同样的磁盘接口的带宽呢,也限制了

闪存的性能,不能完全发挥出,闪存设备的吞吐量,所以PCI-E设备呢往往要比SSD设备呢有更好的性能

使用固态存储SSD或PCIe卡_第5张图片

而对于PCI-E良好性能来说呢,他的缺点呢,就是价格要比SSD价格要贵的多,而且多数情况下,PCI-E设备呢,

还需要使用服务器的内存,和CPU资源,他配置好PCI-E卡之后呢,发现服务器内存莫名其妙的就少了几十个G,

当初真是费了一些时间才能搞明白PCI-E设备使用了,所以这也是我们前面所提到的,我们有时候为了提高我们

的IO性能呢,要牺牲我们的服务器内存,所以说呢,实现PCI-E高性能呢是有代价的,另外呢对于PCI-E设备呢,这里就

不建议你使用RAID配置了,首先PCI-E这种控制器呢,本身就比较少,同时由于PCI-E成本比较高,用它来进行RAID配置呢,

成本也是我们不能接受的,接下来我们看看固态存储适用在什么场景之下,前面介绍了一些固态存储设备的一些特点,

从这些特点我们就很容易看出来,固态存储有适合的场景,首先固态存储比较适合于存在大量随机IO场景中,随机IO呢

通常是由于数据库当中的热数据的大小远远大于内存的大小而导致的,前面提到过,如果我们服务器上的内存足够大,

那我们就可以把大量的随机IO转为顺序IO,但是内存不能无限制的进行增加,当数据库的数据远远大于服务器内存容量时,

就无法通过增加内存的方式呢,来减少随机IO了,这时候呢,就可以使用动态分组设备,来获得额外的好处,另一个适合使用

存储设备的地方呢,用于解决单线程负载的IO瓶颈,单线程的工作负载呢,通常对于延迟会比较敏感,而对于单线程的负载呢,

要想增加吞吐量呢,仅能通过加快IO来解决了,这里有一个很常见的问题就是,当我们只有一块固态设备时,是用在主服务器上呢,

还是用在主从的从服务器上呢,通常对于不太熟悉固态存储和MYSQL主从策略来说呢,会把唯一的固态存储设备放在主上,

但是我们知道这种做法是不正确的,如果只有一块固态存储设备,我们更应该把它放在从服务器上,因为从服务器是单线程的,

而主是多线程的,为了产生更少的延迟呢,我们就应该增加从服务器的IO性能,而且固态磁盘易损耗的特点呢,在主服务器上

使用也不太安全,这里我们就介绍完了固态存储设备,接下来我们再来看另外一种存储设备,网络存储,数据库服务器上是

如何使用的

使用固态存储SSD或PCIe卡_第6张图片

 

你可能感兴趣的:(使用固态存储SSD或PCIe卡)