论文部分内容阅读
Dwarf是一种语义压缩算法,它通过在数据立方计算过程中消除数据立方中的语义冗余来达到数据压缩的目的。相对于其它几种语义压缩方法,Dwarf具有更高的压缩比,但由于自身结构的缘故,Dwarf同时又具有查询性能不高、更新困难的弱点。本文在分析了Dwarf自身特点以及OLAP查询特点的基础上,提出了有利于Dwarf查询的聚簇算法——针对点查询的递归聚簇算法和针对范围查询的层次聚簇算法。实验证明,这两种聚簇方法能够比较好地加速所针对性的查询方式,但是不能加速对方所擅长的查询方式。
同时,本文在分析了WindowsNT的磁盘系统特点的基础上,设计了基于自定义缓冲区的Dwarf查询系统。这是由于Dwarf查询的完全随机特性使得WindowsNT操作系统的磁盘高速缓存和智能预读功能同时趋向于失效。与WindowsNT操作系统内存管理类似,本文提出的自定义缓冲区采用页式结构,所不同的是本文采用了基于页面访问频数的页面置换策略进行页面置换。本文通过实验证明,应用自定义缓冲区以及采用基于页面访问频数的页面置换策略能够综合本文提出的两种聚簇方法的优势,提高了聚簇算法的查询适应性以及查询性能。