闪存数据库

闪存数据库系统研究背景和意义

作者:林子雨    (ziyulin@xmu.edu.cn)

单位:厦门大学计算机科学系

在过去的几十年里,硬盘一直都是企业广泛采用的存储介质。但是,随着闪存技术的不断发展,基于闪存的存储设备被认为具有很大的潜力可以取代硬盘,并为企业的各种应用获得更高的性能。闪存具有速度快、体积小、质量轻、能耗低、抗震等特点,而且是非易失的,即使断电也不会丢失信息。由于闪存的优良特性,它已经广泛应用于消费类电子产品中,比如PDA、MP3播放器、移动电话和数码相机等。闪存芯片还被封装成不同的产品,比如CF卡、SD卡、迷你SD卡、微型SD卡和USB棒,或者有些闪存芯片会被封装成闪存存储设备(比如基于闪存的固态盘),配备了标准的ATA总线,可以连接到其他宿主设备上面。市场上也已经出现一些新型的个人计算机产品,完全抛弃了硬盘,转而采用基于闪存的固态盘。

闪存被认为具有很大潜力可以取代硬盘,主要有以下几个方面的原因:(1)硬盘自身的局限性;(2)闪存的优良特性;(3)闪存的容量增加和价格下降。

数据库是企业构建各种高级应用的基础,经过多年的发展,市场上已经存在可以满足不同企业应用需求的各种数据库产品。当前的数据库产品大都采用基于硬盘的存储系统。随着闪存技术的发展,一些存储系统制造商,开始提供TB级别的、基于闪存的存储解决方案,其中一个主要目的就是应用于大规模数据库服务器。另外,随着闪存容量的不断提高,在移动设备中使用嵌入式DBMS已经变得越来越普遍,可以用来高效地对设备中的文件进行存储、检索和导航。

但是,由于闪存的读写特性和硬盘具有很大的区别,如果直接把传统的数据库应用到基于闪存的存储设备上,是无法获得好的性能的。虽然在实际应用中,硬件都是隐藏在接口后面,比如SCSI协议或块设备API,但是,在过去三十年里,数据库应用都是为硬盘这类旋转磁盘设备而优化的,这类旋转设备的特点是:具有固定的顺序带宽,但是,具有很大的机械延迟,它严重影响了随机I/O的性能。数据库系统被认为是专门为硬盘量身定制的一种非常典型的应用,从查询优化到SQL操作,再到底层的磁盘管理,都假设底层存储采用了具有较长随机访问延迟的旋转磁盘设备。比如,对于基于硬盘行为而设计的查询优化器而言,它所做出的查询优化决定,可能很不适合用在闪存上。因此,数据库自身的特性和闪存的特性,决定了必须开展相关的研究,使得数据库应用在闪存存储设备上能够取得好的性能。(全文完)