论文部分内容阅读
CPU速度的增加已远远超过磁性硬盘(Hard Disk Drive,即HDD)I/O速度的增加,两者之间存在一个不断扩大的差距,存储系统成为数据库系统性能提高的瓶颈。闪存硬盘(Flash-based Solid State Drive,即Flash SSD,通常称为SSD)的出现使永久性存储设备发生了革命性的变化,为数据库系统性能的提升带来希望。由于闪存硬盘完全建立在半导体芯片上,没有机械移动操作,这个基本的不同特性使闪存硬盘成为理想的存储介质,从而可提高存储系统的性能。尽管闪存硬盘有着磁性硬盘无法比拟的优越性,由于下列原因,在可预见的将来,闪存硬盘很难完全替代磁性硬盘:(1)闪存硬盘的制造成本仍然远远高于磁性硬盘;(2)数据库系统的数据结构和算法是基于磁性硬盘的,数据库系统需要对它们进行调整才能利用闪存硬盘的速度优势;(3)磁性硬盘具有容量大和顺序访问速度快的特点使得其在存储层次体系结构中仍具有存在价值。所以,对于大部分的存储系统,不应该简单地认为闪存硬盘是现有磁性硬盘的替换,而应该是提高存储系统性能的一种方式。在存储系统中,需要找到闪存硬盘的合适位置,在性能和成本之间达成一种合适的平衡。现阶段,为利用闪存硬盘和磁性硬盘各自的优势,减少购买成本和操作成本,从而提高存储系统的整体性能,数据库研究者广泛关注采用闪存硬盘和磁性硬盘的混合存储体系结构。在使用闪存硬盘和磁性硬盘的混合存储系统中,顺序读、顺序写、随机读和随机写四种访问操作在这两种存储介质上的表现有很大差异,对数据库系统性能的贡献不同。当放置数据时有必要考虑这种差异。现有的方法考虑了存储介质的差异,但是没有考虑四种操作之间的不同。本文在现有方法的基础上,以表和索引的数据粒度,提出一种在混合存储系统中加权放置数据库对象的方法。该方法区分不同的操作在不同存储介质上的差异,根据不同的负载赋予四种操作在数据库性能提升上不同的权重,以充分利用两种存储介质的性能优势。然后对表和索引做出存储决定时,利用回溯算法实现数据库对象的全局最佳放置,从而最大化地提升数据库系统的性能。最后,以TPC-C作为数据库的负载进行实验并验证方法的正确性,其结果表明:与现有的方法相比,该方法能够更好地提高数据库系统的性能,并延长闪存硬盘的寿命。