Fast and scalable inequality joins

Zuhair Khayyat, William Lucia, Meghna Singh, Mourad Ouzzani, Paolo Papotti, Jorge Arnulfo Quiane Ruiz, Nan Tang, Panos Kalnis

Research output: Contribution to journalArticle

7 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 (Formula presented.)-tree, (Formula presented.)-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)1-26
Number of pages26
JournalVLDB Journal
DOIs
Publication statusAccepted/In press - 7 Sep 2016

    Fingerprint

Keywords

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

ASJC Scopus subject areas

  • Information Systems
  • Hardware and Architecture

Cite this