Database Support for Matching: Limitations and Opportunities - Kini, Ameet; Shankar, Srinath; DeWitt, David; Naughton, Jeffrey (University of Wisconsin-Madison Department of Computer Sciences, 2005)
A match join of R and S with predicate theta is a subset of the theta join of R and S such that each tuple of R and S contributes to at most one result tuple. Match joins and their generalizations arise in many scenarios, including one that was our original motivation, assigning jobs to processors in the Condor distributed job scheduling system. We explore the use of RDBMS technology to compute match joins. We show that the simplest approach of computing the full theta join and then applying standard graph-matching algorithms to the result is ineffective for all but the smallest of problem instances. By contrast, a closer study shows that the DBMS primitives of grouping, sorting, and joining can be exploited to yield efficient match join operations. This suggests that RDBMSs can play a role in matching beyond merely serving as passive storage for external programs.