2002 · 45 citations · 25 references
ComputingComputer ScienceComputer SystemsDatabasesDistributed SystemsParallel ComputingDatabase ManagementDistributed ComputingDistributed Database ArchitectureDistributed DatabasesQuery OptimizationQuery ProcessingClient-server CommunicationComplexityDistributed Database DesignDistributed Database ManagementImplementation ComplexityJoin AlgorithmsMiddlewareQuery Performance Optimization
Semi-join reducers were introduced in the late 1970s as a means to reduce the communication costs of distributed database systems. Subsequent work in the 1980s showed, however, that semi-join reducers are rarely beneficial for the distributed systems of that time. This paper shows that semi-join reducers can indeed be beneficial in modern client-server or middleware systems - either to reduce communication costs or to better exploit all the resources of a system. Furthermore, we present and evaluate alternative ways to extend state-of-the-art (dynamic programming) query optimizers in order to generate good query plans with semi-join reducers. We present two variants, called Access Root and Join Root, which differ in their implementation complexity, running times and the quality of the plans they produce. We present the results of performance experiments that compare both variants with a traditional query optimizer.
25
Access path selection in a relational database management system
Patricia G. Selinger, M. M. Astrahan, Donald D. Chamberlin et al. · 1979 · 2.2K citations
Using Semi-Joins to Solve Relational Queries
Philip A. Bernstein, Dah-Ming W. Chiu · Journal of the ACM · 1981 · 466 citations · Full text
Approximating block accesses in database organizations
S. Bing Yao · Communications of the ACM · 1977 · 385 citations · Full text