The VLDB Journal

, Volume 26, Issue 1, pp 125–150

Fast and scalable inequality joins

  • Zuhair Khayyat
  • William Lucia
  • Meghna Singh
  • Mourad Ouzzani
  • Paolo Papotti
  • Jorge-Arnulfo Quiané-Ruiz
  • Nan Tang
  • Panos Kalnis
Special Issue Paper

DOI: 10.1007/s00778-016-0441-6

Cite this article as:
Khayyat, Z., Lucia, W., Singh, M. et al. The VLDB Journal (2017) 26: 125. doi:10.1007/s00778-016-0441-6

Abstract

Inequality joins, which is to join relations with inequality conditions, are used in various applications. Optimizing joins has been the subject of intensive research ranging from efficient join algorithms such as sort-merge join, to the use of efficient indices such as \(B^+\)-tree, \(R^*\)-tree and Bitmap. However, inequality joins have received little attention and queries containing such joins are notably very slow. In this paper, we introduce fast inequality join algorithms based on sorted arrays and space-efficient bit-arrays. We further introduce a simple method to estimate the selectivity of inequality joins which is then used to optimize multiple predicate queries and multi-way joins. Moreover, we study an incremental inequality join algorithm to handle scenarios where data keeps changing. We have implemented a centralized version of these algorithms on top of PostgreSQL, a distributed version on top of Spark SQL, and an existing data cleaning system, Nadeef. By comparing our algorithms against well-known optimization techniques for inequality joins, we show our solution is more scalable and several orders of magnitude faster.

Keywords

Inequality join PostgreSQL Spark SQL Selectivity estimation Incremental 

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  1. 1.King Abdullah University of Science and TechnologyThuwalSaudi Arabia
  2. 2.Qatar Computing Research InstituteHBKUDohaQatar
  3. 3.Arizona State UniversityTempeUSA