高级事务数据库应用中固态硬盘性能比拼

日期: 2008-07-16 作者:吴子超 来源:TechTarget中国 英文

  高级事务处理的数据库应用是企业IT系统中较为常见的一种应用,例如网络上的电子交易类的应用都属于这个类型。这类型应用与一些视频流的应用不一样,如果是一个视频流的应用,那么I/O的次数可能并不是非常频繁,但是一次I/O产生的数据传输量会较为巨大,而高级事务处理的特点是,会产生一系列的频繁的离散的I/O请求,每次I/O请求所产生的数据却很小。


  磁盘性能是高级事务处理运行性能的关键


  高级事务处理数据库(high-transaction database)通常由4~8KB大小的记录构成,这些数据记录一般是被随机访问的。也正是因为每个数据记录的容量都很小,而且数据库的运行是随机读取数据条目,所以数据库的性能很大程度上取决于磁盘存取时间(disk access time)。磁盘存取时间是非常关键的指标,在运行速度较慢的数据库应用中,CPU经常需要长时间等待磁盘I/O操作的完成。


  数据库对磁盘I/O的需求本身已经很苛刻,可不断增加的磁盘容量又给这个局面雪上加霜。长期以来,工艺的进步不断推动磁盘容量的增加,但是磁盘I/O的增加却相对缓慢,跟不上容量的急剧增加。也就是说,同样的数据容量,新的数据库通常倾向于拥有更少的磁盘,这样就更降低了数据库的效率。


  以一个50GB的磁盘为例,如果存储的都是典型数据库大小的记录,那么每秒只有0.004%的容量可以被随机访问。当然,在多块磁盘上做条带化信息可以增加数据存取,但是数据库的完整性需求却又经常与并行存取相冲突。


  面对数据库的高磁盘需求,固态硬盘给出了完美的解决方案。固态硬盘可以提供多种不同级别的性能。下面,我们就着重比较不同技术的硬盘——基于Flash和DRAM的固态硬盘,还有传统硬盘。我们会采用标准的评测工具来评测,到底固态硬盘有多大的性能提升。


  基于DRAM的固态硬盘表现最佳


  传统硬盘:



  上表是一块传统磁盘的各项性能指标评测值。当数据大小为4~8KB的时候,磁盘的读写速度大概为1~2MBps。我们可以分析一下这个速度的由来——传统磁盘平均寻道时间与旋转延迟的和大概是5~10毫秒。我们也注意到当数据块大小增大的时候,读写速度有所提升,到128KB的时候,提升十分明显。不过很可惜,数据库通常的数据块大小是我们红色标注出来的4~8KB。总的来说,传统磁盘的容量最便宜,但是性能也是最差的。


  基于闪存的固态硬盘(flash-based SSD):




  上面是基于闪存的固态硬盘的性能评测展示。我们发现,随机读性能对比传统硬盘有很大的提升,但是随机写性能却表现糟糕。在4~8KB大小的数据块上,写的速度和I/O都仅为传统硬盘的1/10。


  基于DRAM的固态硬盘:




  我们看一下上面的DRAM固态硬盘性能表现,我们发现这是当之无愧的硬盘性能冠军。不论数据块是大是小,基于DRAM的硬盘性能都令人惊叹。我们在数据库日常使用中经常发现,数据库的性能之所以差强人意,很重要的原因,是被一小部分热点文件或是短暂频繁使用的硬盘区域拖了后腿。我们可以设想,如果我们将这部分I/O需求最多的数据存储到基于DRAM的固态硬盘中,我们将极大的提升整体数据库的性能。当然,基于DRAM的固态硬盘的费用也是非常昂贵,因为基于DRAM的固态硬盘内部必须持续供电,而且还得为其做备份。但是如果将少量高I/O需求的数据存储到基于DRAM的固态硬盘中,其余大部分还是存储到传统的硬盘上,还是一个非常好的选择。


  三种硬盘的评测数据比较


  蓝色部分数据:基于DRAM的固态硬盘
  红色部分数据:基于闪存的固态硬盘
  黄色部分数据:传统硬盘



  随机写入性能比较



  随机读性能比较


我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐