next up previous contents
Next: The Multi-Database Directory Up: The OPM Multidatabase Previous: The OPM Multidatabase

Multidatabase Query Strategy

The multidatabase query strategy we pursue involves the following main stages:

  1. decompose OPM multidatabase queries into component OPM queries for each database in the multidatabase system, where the single-database OPM queries are evaluated using the existing OPM query translator [6];

  2. retrieve and store locally the results of each single-database OPM query, and assemble the result of the multidatabase query from the results of the single-database queries.

More detailed description of OPM multidatabase query processing and illustrating examples will be given in section 5.

Currently, the multidatabase query assembly is carried out in main memory and therefore we assume that the query results do not exceed the available local main-memory. In the near future we plan to implement a simple, single user, local database management system for OPM that can be used for storing and combining the results of single database queries.

An alternative approach to evaluating multidatabase queries would be to evaluate sequentially the single-database queries, while using each query result to restrict the next query in the sequence. This approach could be more efficient for some queries and would require storing smaller intermediary query results. However, this approach is more difficult to implement (e.g., it involves a bi-directional flow of data between the OPM multidatabase query system and the component databases) and requires more cooperation from the component databases. Consequently, we decided against following this approach as our primary strategy, and will explore it as an alternative secondary strategy at a later stage.

Our multidatabase query strategy requires a local query processor capable of performing joins and evaluating conditions over complex nested data-structures, for assembling the multidatabase query result from the single-database query results. The current query processor is relatively simple, but can be easily extended: it supports joins, projections and simple condition testing, but does not yet support aggregate functions.



next up previous contents
Next: The Multi-Database Directory Up: The OPM Multidatabase Previous: The OPM Multidatabase



& Markowitz
Wed Jan 17 16:39:09 PST 1996