期刊文献+

DBCC-Join:一种新的高速缓存敏感的磁盘连接算法 被引量:4

DBCC-Join:A Novel Cache-Conscious Disk-Based Join Algorithm
下载PDF
导出
摘要 随着CPU和内存的性能差距越来越大,系统设计者在CPU寄存器和内存之间插入高速缓存来弥补这个差距.高速缓存的数据存取速度远高于内存,所以数据库操作要获得更好的性能就必须考虑充分利用高速缓存.基于磁盘的连接操作是一种常用并且耗时的数据库查询操作,可是大多数传统的连接算法在设计时都没有考虑高速缓存的使用,从而使得这些连接算法无法充分利用CPU的能力.文中分析了传统的连接算法在高速缓存利用方面的问题,并且提出了一种新的可以充分利用高速缓存的磁盘连接算法DBCC-Join.连接位置索引对表JPIPT是用到的数据结构,说明了每个连接结果元组在各自表中的位置索引对.DBCC-Join的执行包括两个阶段:JPIPT构建阶段和结果输出阶段.JPIPT构建阶段对列存储化的连接属性执行高速缓存敏感的算法来构建连接位置索引对表.利用获得的JPIPT,结果输出阶段只需要对数据表执行一遍顺序扫描就可以获得结果.该文是第一篇提出利用高速缓存的磁盘连接算法的文章.实验表明,和传统磁盘连接算法相比,DBCC-Join算法可以获得一个数量级的加速比. System designers exploit cache to make up for performance gap between CPU and main memory.Since data access speed of cache is much faster than that of memory,it is important for database operations to take maximum advantage of cache to obtain higher performance.Disk-based join operation is a common but time-consuming database operation.Unfortunately,most of traditional join algorithms do not take cache into consideration.This paper analyzes low cache utilization problem in traditional join algorithms and proposes a disk-based cache-conscious join algorithm DBCC-Join.Join positional index pair table(JPIPT) is a data structure which specifies the positional index pairs of join tuples in each table.The execution of DBCC-Join consists of two stages:JPIPT construction stage and result output stage.JPIPT construction stage performs cache-conscious construction algorithm on join attributes which are kept in column-oriented model,to obtain join positional index pair table of join results.The obtained JPIPT is used in result output stage to retrieve results in a one-pass sequential scan on each table.To the best of our knowledge,this paper is the first to exploit cache to improve performance of disk-based join algorithm.Experimental results show that compared to traditional join algorithms,DBCC-Join can be improved by a factor of an order of magnitude.
出处 《计算机学报》 EI CSCD 北大核心 2010年第8期1500-1511,共12页 Chinese Journal of Computers
基金 国家"九七三"重点基础研究发展规划项目基金(2006CB303005) 国家自然科学基金(60903016 60533110 60773063) 新世纪优秀人才支持计划(NCET-05-0333) 黑龙江省教育厅科学技术研究项目(11531276) NSFC-RGC of China(60831160525)资助~~
关键词 DBCC-Join JPIPT构建阶段 结果输出阶段 缓存敏感算法 DBCC-Join JPIPT construction stage result output stage cache-conscious algorithm
  • 相关文献

参考文献20

  • 1Todd Jobson's Blog Reflections.Santa Clara,CA,USA:Sun Microsystems,2007.
  • 2Shatdal Ambuj,Kant Chander,Naughton Jeffrey F.Cache conscious algorithms for relational query processing//Proceedings of the 20th International Conference on Very Large Data Bases(VLDB'94).Santiago de Chile,Chile,Morgan Kaufmann,1994:510-521.
  • 3Mishra Priti,Eich Margaret H.Join processing in relational databases.ACM Computing Surveys,1992,24(1):63-113.
  • 4Boncz Peter A,Manegold Stefan,Kersten Martin L.Database architecture optimized for the new bottleneck:Memory access//Proceedings of the 25th International Conference on Very Large Data Bases(VLDB'99).Edinburgh,Scotland,UK,Morgan Kaufmann,1999:54-65.
  • 5Ailamaki Anastassia,DeWitt David J,Hill Mark D,Wood David A.DBMSs on a modern processor:Where does time go?//Proceedings of the 25th International Conference on Very Large Data Bases(VLDB'99).Edinburgh,Scotland,UK,Morgan Kaufmann,1999:266-277.
  • 6Manegold Stefan,Boncz Peter A,Kersten Martin L.What happens during a join? Dissecting CPU and memory optimization effect//Proceedings of the 26th International Conference on Very Large Data Bases(VLDB'00).Cairo,Egypt,Morgan Kaufmann,2000:339-350.
  • 7Stonebraker Mike,Abadi Daniel J,Batkin Adam et al.C-Store:A colmn-oriented DBMS//Proceedings of the 31st International Conference on Very Large Data Bases (VLDB'05).Trondheim,Norway,ACM,2005:553-564.
  • 8Han Xixian,Yang Donghua,Li Jianzhong.DBCC-Join:A novel cache-conscious disk-based join algorithm.Harbin Institute of Technology,Harbin:Technical Report DBTR-1002,2010.
  • 9He Bingsheng,Luo Qiong.Cache-oblivious nested-loop joins//Proceedings of the 2006 ACM CIKM International Conference on Information and Knowledge Management(CIKM'06).Arlington,Virginia,USA,ACM,2006:718-727.
  • 10He Bingsheng,Luo Qiong.Cache-oblivious query processing//Proceedings of th 3rd Biennial Conference on Innovative Data Systems Research(CIDR'07).Asilomar,CA,USA,2007:44-55.

同被引文献34

  • 1He B,Lu M,Yang K,et al.Relational Query Coprocessing on Graphics Processors[J].ACM Transactions on Database Systems,2009,34 (4):23-32.
  • 2Kim C,Kaldewey T,Lee V W,et al.Sort vs.Hash Revisited:Fast Join Implementation on Modem Multi-core CPUs[C] //Proceedings of the VLDB Endowment.US:VLDB Endowment,2009:1378-1389.
  • 3Blanas S,Li Y,Patel J M.Design and Evaluation of Main Memory Hash Join Algorithms for Multi-core CPUs[C] //Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data.NY USA:ACM,2011:37-48.
  • 4陈虎,欧彦麟,陈海波.面向多核处理器平台的Hash Join算法设计与实现[J].计算机研究与发展,2010,47(z1):171-175.
  • 5Satish N,Kim C,Chhugani J,et al.Fast Sort on CPUs and GPUs:A Case for Bandwidth Oblivious SIMD Sort[C] // Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data.NY USA:ACM,2010:351-362.
  • 6Satish N,Harris M,Garland M.Designing Efficient Sorting Algorithms for Manycore GPUs[C] // Proceedings of the 2009IEEE International Parallel and Distributed Processing Symposium.US:IEEE Computer Society,2009:1-10.
  • 7Chhugani J,Nguyen A D,Lee,V W,et al.Efficient Implementation of Sorting on Multi-core SIMD CPU Architecture[C] //Proceedings of the VLDB Endowment.US:VLDB Endowment,2008:1313-1324.
  • 8Senggupta P,Harris P,Zhang P,et al.Scan Primitives for GPU Computing[C] //Proceedings of the 22nd ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics hardware.Switzerland:Eurographics Association,2007:97-106.
  • 9Gray J,Sundaresan P,Englert S,et al.Quickly Generating Billion-record Synthetic Databases[C] //Proceedings of the 1994ACM SIGMOD International Conference on Management of Data.NY USA:ACM Press,1994:243-252.
  • 10NVIDIA Corp.NVIDIA's Next Generation CUDATMCompute Architecture:FermiTM[EB/OL].http://www.nvidia.com,2009-05-15.

引证文献4

二级引证文献14

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部