Optimierung relationaler Präferenz-DatenbankanfragenBernd Hafenrichter
Optimization of Relational Preference Queries
Erstgutachter: Professor Dr. W. Kießling
Zweitgutachter: Professor Dr. B. Möller
Personalization is a topic which receives an increasing interest in information technology. The major task is to recognize the users wishes and preferences. Based on this knowledge an intuitive communication between humans and a computer can be setup. In the context of an E-Commerce application this behavior is comparable to a salesman who offers his goods based on user’s wishes. Even if there is no object that satisfies the request entirely he can provide a best matching alternative to the customer.
In order to support such applications a framework for expressing and evaluating user preferences is required. Not only the correctness of preference queries is important for a broad acceptance. Special attention has to be paid to an efficient computation of user preferences. Therefore it is important to consider the integration of the preference technology into a standard database system. To achieve a tight integration and efficient computation of preferences the current work investigates the algebraic optimization of preference queries based on preference relational algebra. Preferences are expressed as strict partial orders and computed by use of the newly added relational operator "preferenceselection". For the integration of preference optimization in a rule based optimizer, a great variety of algebraic transformation laws has to be developed. These rules allow the permutation of the preference-selection with operators from relational algebra. Additionally the heuristics push preference has to be defined analogous to the heuristics push selection. It is based on the assumption, that the early elimination of tuples by preference-selection leads to performance improvements in the further processing.
Join order optimization has an enormous impact on the quality of the achieved optimization. Therefore a querygraph based method is introduced which combines the heuristics push preference and join order optimization. Furthermore it is shown how this method can be carried over to a cost based optimizer.
The whole system has been implemented as a prototype and evaluated by using a large test suite. The results
demonstrate clearly that by means of algebraic optimization great performance gains can be achieved. Only the
join-order optimization outperforms this results.
Overall, the enhancement of a standard database by user preferences is a reasonable extension. By the use of strict partial orders two goals can be achieved: Good modeling capabilities and efficient computation of preference queries.