← Back to Glossary

Massively Parallel Processing (MPP)

Massively Parallel Processing (MPP) is a database architecture in which many independent nodes, each with their own CPU, memory, and storage, cooperate to execute a single query in parallel across a cluster.

Overview

MPP systems — like Teradata, Amazon Redshift, or Google BigQuery — take a "shared-nothing" approach: a query is broken into fragments and distributed across many worker nodes, each processing its own local slice of the data (often a partition or shard) independently, before results are combined. This lets a single query scale out across dozens or hundreds of machines, which is valuable for datasets and workloads that outgrow what any single machine can process.

Shared-Nothing Architecture

In a shared-nothing MPP design, data is partitioned across nodes ahead of time, and each node's compute only ever touches its own local data and storage. Coordinating nodes handle distributing query fragments and merging partial results (for example, combining partial aggregates from each node into a final answer). This architecture trades added network and coordination overhead for the ability to scale query capacity by adding more nodes.

MPP vs. Single-Node Parallelism

MPP parallelizes a query across machines. This is a different axis from parallelizing a query across cores within one machine, which is what a single-node engine with a multi-threaded, vectorized execution engine does.

DuckDB's Model

DuckDB is not an MPP system. It's an in-process, single-node analytical engine that parallelizes a query across the CPU cores available on the machine it's running on, using morsel-driven parallelism rather than distributing work across a cluster. This is a deliberate design choice: DuckDB targets the workloads — often up to hundreds of gigabytes or a few terabytes — that fit comfortably on a single modern machine, without the operational overhead of managing an MPP cluster. MotherDuck builds on DuckDB in the cloud and can run many independent DuckDB instances, and its hybrid execution model can split parts of a single query between a local DuckDB process and a cloud-hosted one — but that's a different mechanism from classic MPP shared-nothing execution of one query across many worker nodes.

Related terms

FAQS

No. DuckDB parallelizes queries across the CPU cores of a single machine rather than distributing execution across a cluster of nodes, which is what defines an MPP architecture.

MPP systems can scale query capacity by adding nodes, but they pay for it with added network and coordination overhead between nodes, plus the operational complexity of running and tuning a distributed cluster.