Encyclopedia of Database Systems

Living Edition
| Editors: Ling Liu, M. Tamer Özsu

Intra-query Parallelism

  • Nikos HardavellasEmail author
  • Ippokratis Pandis
Living reference work entry
DOI: https://doi.org/10.1007/978-1-4899-7993-3_1557-2

Synonyms

Definition

Intra-query parallelism is a form of parallelism in the evaluation of database queries, in which a single query is decomposed into smaller tasks that execute concurrently on multiple processors.

Key Points

Intra-query parallelism is achieved when several processors cooperate in the execution of a single query to improve the query’;s response time. Intra-query parallelism is orthogonal to inter-query parallelism, in which multiple independent requests execute concurrently on several processors to improve the overall system throughput.

There exist two forms of intra-query parallelism: operator-level parallelism and intra-operator parallelism. Operator-level parallelism is obtained by executing concurrently several operators of the same query. For example, consider a simple query that consists of a scan operator and an aggregation. The scan operator uses a selection condition to filter tuples. The aggregation calculates some statistics over all qualifying tuples. Operator-level parallelism is obtained by executing concurrently the scan operation as a single task and the aggregation as another, pipelining tuples from the scan to the aggregation as soon as they are produced. To realize this form of parallelism, all participating operators must be pipelineable. Non-pipelineable operators cannot participate because they need their entire input before executing, thereby halting the pipeline.

Intra-operator parallelism is obtained by executing concurrently multiple instances of an operator, with each instance working on a subset of the data. Intra-operator parallelism is based primarily on partitioning the input relation into non-overlapping data segments. In the example above, intra-operator parallelism is achieved by dividing the input relation into non-overlapping data segments and executing the scan and the aggregation of the segments in parallel, followed by a final merge of the results. The interested reader is referred to DeWitt and Gray [1] and Graefe [2] as more comprehensive readings.

Cross-References

Recommended Reading

  1. 1.
    DeWitt DJ, Gray J. Parallel database systems: the future of high-performance database computing. Commun ACM. 1992;35(6):85–98.CrossRefGoogle Scholar
  2. 2.
    Graefe G.. Encapsulation of parallelism in the volcano query processing system. In: Proceeding of the ACM SIGMOD international conference on management of data; 1990, p. 102–11.Google Scholar

Copyright information

© Springer Science+Business Media LLC 2016

Authors and Affiliations

  1. 1.Carnegie Mellon UniversityPittsburghUSA

Section editors and affiliations

  • Anastasia Ailamaki
    • 1
  1. 1.Informatique et CommunicationsEcole Polytechnique Fédérale de LausanneLausanneSwitzerland