Fast and scalable inequality joins

Zuhair Khayyat*, William Lucia, Meghna Singh, Mourad Ouzzani, Paolo Papotti, Jorge Arnulfo Quiané-Ruiz, Nan Tang, Panos Kalnis

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

26 Citations (Scopus)

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.

Original languageEnglish
Pages (from-to)125-150
Number of pages26
JournalVLDB Journal
Volume26
Issue number1
DOIs
Publication statusPublished - 1 Feb 2017

Keywords

  • Incremental
  • Inequality join
  • PostgreSQL
  • Selectivity estimation
  • Spark SQL

Fingerprint

Dive into the research topics of 'Fast and scalable inequality joins'. Together they form a unique fingerprint.

Cite this