论文部分内容阅读
闪存是一种电可擦除可编程只读存储器。由于其具有体积小,重量轻,访问速度快,适用环境广等优点,闪存已经大量地被应用在移动设备上,如手机、MP3、传感器等。近年来,随着闪存容量的不断增加,价格的不断下降,基于闪存的存储设备被越来越多地用于企业级大型数据存储系统中,如数据库系统。由于闪存的访问速度,特别是其随机访问速度大大快于磁盘,所以闪存的使用可以大大地缓解数据库外存的瓶颈问题。与传统的磁盘相比,闪存有其自身的特性。首先,作为一种电子设备,闪存并不需要机械寻道延时,所以其随机访问速度与顺序访问速度相差不大。此外,由于闪存在覆盖写前要进行擦除操作,所以闪存有读写速度不对称的特点。当前的数据库管理系统均按照磁盘特性优化系统性能,所以直接将数据库系统移植到闪存上并不能发挥出闪存的最佳性能。这就要根据闪存的特点对数据库进行调整。为了扬长避短,对于闪存的优化需要减少闪存的写入操作特别是随机写操作数量。对于随机更新较多的索引结构中,通常使用日志的方式,将随机更新操作转化为顺序操作,而如何设计日志的格式和组织方式是一个重要的问题。缓冲区管理中同样存在类似的问题,如何合理地将一些脏页面保留在缓冲区中,以减少整体I/O的性能也是闪存优化要考虑的重点问题。此外,当前闪存磁盘混合存储系统设计同样受到关注。本文以此为背景进行闪存数据库系统的优化研究,具体来说包括以下几个方面。(1)本文提出了操作可感知的缓冲区管理策略FOR。在代价分析的基础上,FOR同时考虑页面状态与发生在页面上的操作,充分地利用页面访问信息来决定页面的替换。所以FOR方法可以更好地实现基于闪存的缓冲区管理功能。而且本文进一步针对FOR方法运行速度较慢的缺点进行了优化,提出了FOR+算法,进一步地提升了缓冲区管理的整体性能。(2)本文提出了一种基于闪存的高维索引结构LCR树。 LCR树在传统的高维索引上加入日志区,将随机更新操作转化为顺序更新,提高了索引的更新效率。此外,LCR树将日志区组织为压缩日志方式,即多次更新的日志会保存在同一个页面内。与现有方法相比压缩日志能够减少索引的读取操作数量,达到更好的I/O性能。(3)本文针对闪存磁盘混合存储系统进行优化,提出了基于概率和基于热度的混合存储管理策略。基于概率的混合存储方法使用两个概率参数控制数据之间的迁移操作,以减少系统各存储层次之间不必要的数据移动,从而提升整体的性能。基于热度的存储方法可以识别出数据的热度,所以能够将访问频繁的数据放在较高的存储层次中,与已有方法相比,可以以较小的代价更好地完成混合存储管理。