论文部分内容阅读
关系数据库是当前世界上应用最广泛的数据管理软件系统。经过几十年的发展,关系数据库已经成为计算机技术领域里从理论成功向应用转化并产生巨大价值的方向之一。在方便地提供给用户操作海量数据能力的同时,关系数据库系统支持事务语义,将数据一致性、持久性的需求内部封装,从而极大地降低了数据管理的复杂度。纵观数据库的发展历史,其架构中的永久性数据存储介质一直采用传统的磁性硬盘。近年来,磁盘的发展已经到达了瓶颈,而在各种计算机系统中闪存取代磁盘的进程越来越快。闪存是一种具有和磁性硬盘完全不同的读写性质的新型存储介质,首先由于闪存是电学设备,不需要机械寻道来进行定位,因此可以提供相对磁盘极高的随机访问性能:其次由于闪存芯片在改写前必须对相对较大的区域进行擦除,闪存的写操作与读操作相比很慢,具有读写不对称性。直接将传统的数据库系统架设在闪存上无法充分发挥出闪存的最优性能,其原因在于,数据库存储引擎与外存相关的数据结构和算法都是以磁盘的性能特征为出发点的,譬如页面被排除出内存时无条件回写、在读取大量数据时优先考虑磁针的有序移动等。这些结构和算法不再适用于闪存,很容易成为数据库系统的瓶颈。因此,基于闪存的数据库存储研究是势在必行的。本文在此背景下,以闪存的具体性能特征和数据库的访问逻辑为基础,较为完整地研究了基于闪存的数据库存储引擎技术,取得了一定的研究成果。具体说来包括:(1)本文提出了一种完整的闪存数据库存储引擎框架,称为CRL(Compressed,Redo-based version control, Later-grouped materialize),针对闪存的物理特性进行了一系列专门的存储级和事务级设计,包括支持部分解压的压缩算法、基于重做日志的版本控制协议和延时成组物化等,极大地提高了数据库在在线事务处理型应用中的性能。(2)本文提出了一种面向在线事务型应用的索引树结构,称为UM-B+树(Update Migration B+ Tree),通过将更新记录在索引层间进行迁移,从而降低索引的随机写次数,提高索引的IO性能。同时本文首次将UM-B+树扩展到事务性引擎中,讨论了在高并发环境下的访问控制和恢复机制,增加了UM-B+树的可用性。(3)本文提出了一种面向在线分析型应用的海量数据并行扫描的调度框架S~3 (Semi-Share Scan)。S~3采用了一种全新的半共享扫描模式,通过成组共享读来降低带宽消耗,同时通过补偿读对速度较快的扫描进行加速,更好地利用了I/O带宽和CPU资源。(4)本文提出了一种复合架构模型HYBRID,在HYBRID模型中,数据库同时包括闪存硬盘和磁性硬盘两种设备,数据根据访问特征被存储到不同的设备中。模型使用地址映射表来转换对闪存的访问,并使用滑动窗口技术,通过最近一段时间内的访问的统计信息来自适应地动态调整页面的分布,使数据库获得更高的性能。