Many database applications have the emerging need to support approximate queries that ask for strings that are similar to
a given string, such as “name similar to
smith” and “telephone number similar to
412-0964”. Query optimization needs the selectivity of such an approximate predicate, i.e., the fraction of records in the database
that satisfy the condition. In this paper, we study the problem of estimating selectivities of approximate string predicates.
We develop a novel technique, called S
epia, to solve the problem. Given a bag of strings, our technique groups the strings into clusters, builds a histogram structure
for each cluster, and constructs a global histogram. It is based on the following intuition: given a query string
q, a preselected string
p in a cluster, and a string
s in the cluster, based on the proximity between
q and
p, and the proximity between
p and
s, we can obtain a probability distribution from a global histogram about the similarity between
q and
s. We give a full specification of the technique using the edit distance metric. We study challenges in adopting this technique,
including how to construct the histogram structures, how to use them to do selectivity estimation, and how to alleviate the
effect of non-uniform errors in the estimation. We discuss how to extend the techniques to other similarity functions. Our
extensive experiments on real data sets show that this technique can accurately estimate selectivities of approximate string
predicates.
Keywords SEPIA - Approximate - String - Selectivity - Estimation
A short version of this article appeared as [21] in the proceedings of the 31st International Conference on Very Large Data
Bases (VLDB), August 30 – September 2, 2005, Trondheim, Norway. The source code of our algorithms is available at http://flamingo.ics.uci.edu/.