MSQL: efficient similarity search in metric spaces using SQL

Wei Lu, Jiajia Hou, Ying Yan, Meihui Zhang, Xiaoyong Du*, Thomas Moscibroda

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

21 Citations (Scopus)

Abstract

Similarity search is a primitive operation that arises in a large variety of database applications. Typical examples include identifying articles with similar titles, finding similar images and music in a large digital object repository, etc. While there exist a wide spectrum of access methods for similarity queries in metric spaces, a practical solution that can be fully supported by existing RDBMS with high efficiency still remains an open problem. In this paper, we present MSQL, a practical solution for answering similarity queries in metric spaces fully using SQL. To the best of our knowledge, MSQL enables users to find similar objects by submitting SELECT-FROM-WHERE statements only. MSQL provides a uniform indexing scheme based on a standard built-in B+-tree index, with the ability to accelerate the query processing using index seek. Various query optimization techniques are incorporated in MSQL to significantly reduce CPU and I/O cost. We deploy MSQL on top of PostgreSQL. Extensive experiments on various real data sets demonstrate MSQL’s benefits, performing up to two orders of magnitude faster than existing domain-specific SQL-based solutions and being comparable to native solutions.

Original languageEnglish
Pages (from-to)829-854
Number of pages26
JournalVLDB Journal
Volume26
Issue number6
DOIs
Publication statusPublished - 1 Dec 2017

Keywords

  • Metric space
  • Query optimization
  • RDBMS
  • SQL-based
  • Similarity search

Fingerprint

Dive into the research topics of 'MSQL: efficient similarity search in metric spaces using SQL'. Together they form a unique fingerprint.

Cite this