Fast joins using join indices

被引:32
作者
Li, Z [1 ]
Ross, KA [1 ]
机构
[1] Columbia Univ, Dept Comp Sci, New York, NY 10027 USA
关键词
query processing; decision support systems;
D O I
10.1007/s007780050071
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Two new algorithms, "Jive join" and "Slam join," are proposed for computing the join of two relations using a join index. The algorithms are duals: Jive join range-partitions input relation tuple ids and then processes each partition, while Slam join forms ordered runs of input relation tuple ids and then merges the results. Both algorithms make a single sequential pass through each input relation, in addition to one pass through the join index and two passes through a temporary file, whose size is half that of the join index. Both algorithms require only that the number of blocks in main memory is of the order of the square root of the number of blocks in the smaller relation. By storing intermediate and final join results in a vertically partitioned fashion, our algorithms need to manipulate less data in memory at a given time than other algorithms. The algorithms are resistant to data skew and adaptive to memory fluctuations. Selection conditions can be incorporated into the algorithms. Using a detailed cost model, the algorithms are analyzed and compared with competing algorithms. For large input relations, our algorithms perform significantly better than Valduriez's algorithm, the TID join algorithm, and hash join algorithms. An experimental study is also conducted to validate the analytical results and to demonstrate the performance characteristics of each algorithm in practice.
引用
收藏
页码:1 / 24
页数:24
相关论文
共 40 条
  • [1] Agrawal R., 1994, SIGMOD Record, V23, DOI 10.1145/191843.191972
  • [2] Batory D. S., 1979, ACM Transactions on Database Systems, V4, P531, DOI 10.1145/320107.320125
  • [3] BITTON D, 1983, 9TH P C VLDB FLOR, P8
  • [4] BLAKELEY JA, 1990, PROCEEDINGS : 6TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, P256
  • [5] STORAGE AND ACCESS IN RELATIONAL DATA-BASES
    BLASGEN, MW
    ESWARAN, KP
    [J]. IBM SYSTEMS JOURNAL, 1977, 16 (04) : 363 - 377
  • [6] BRATBERGSENGEN B, 1984, 10 INT C VER LARG DA, P323
  • [7] BROWN K, 1992, 1095 U WISC
  • [8] Cheng J., 1991, Proceedings. Seventh International Conference on Data Engineering (Cat. No.91CH2968-6), P171, DOI 10.1109/ICDE.1991.131464
  • [9] DESIGN AND IMPLEMENTATION OF THE WISCONSIN-STORAGE-SYSTEM
    CHOU, HT
    DEWITT, DJ
    KATZ, RH
    KLUG, AC
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1985, 15 (10) : 943 - 962
  • [10] Colby L. S., 1994, Proceedings of the Third International Conference on Parallel and Distributed Information Systems (Cat. No.94TH0668-4), P121, DOI 10.1109/PDIS.1994.331724