# `MPP`

+ MPP is suitable for JOIN and aggregation query on large datasets
+ All MPP computations are completed in the memory of the TiFlash node
+ Currently only **equi join** is supported.
+ The system variable **`tidb_enforce_mpp`** helps to verify if MPP can be used

![`smart`](MPP01_aa_002_20220512.png)

----------------------------------------------------
Below, we mainly describe the principle of the MPP architecture, in which the TiDB server acts as the coordinator, each TiFlash has a columnar Region, and acts as an MPP Worker to participate in the calculation.

Here goes four main characteristics:

1. MPP is suitable for JOIN + aggregation operations with large amounts of data.

2. All MPP computations are completed in the TiFlash node memory.

3. Only equi join is supported currently.

4. The system variable `tidb_enforce_mpp` helps to verify whether the SQL statement can be used with MPP.
