Lightning fast and space efficient inequality joins
Author(s) -
Zuhair Khayyat,
William Lucia,
Meghna Singh,
Mourad Ouzzani,
Paolo Papotti,
Jorge-Arnulfo Quiané-Ruiz,
Nan Tang,
Panos Kalnis
Publication year - 2015
Publication title -
proceedings of the vldb endowment
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.946
H-Index - 134
ISSN - 2150-8097
DOI - 10.14778/2831360.2831362
Subject(s) - joins , computer science , sort merge join , join (topology) , scalability , theoretical computer science , algorithm , parallel computing , database , mathematics , combinatorics , programming language
Inequality joins, which join relational tables on inequality conditions, are used in various applications. While there have been a wide range of optimization methods for joins in database systems, from algorithms such as sort-merge join and band join, to various indices such as B+-tree, R*-tree and Bitmap, inequality joins have received little attention and queries containing such joins are usually very slow. In this paper, we introduce fast inequality join algorithms. We put columns to be joined in sorted arrays and we use permutation arrays to encode positions of tuples in one sorted array w.r.t. the other sorted array. In contrast to sort-merge join, we use space efficient bit-arrays that enable optimizations, such as Bloom filter indices, for fast computation of the join results. We have implemented a centralized version of these algorithms on top of PostgreSQL, and a distributed version on top of Spark SQL. We have compared against well known optimization techniques for inequality joins and show that our solution is more scalable and several orders of magnitude faster.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom