- Linear speedup
- The property that an N-times larger or more expensive system runs a fixed job N times faster, measured as small system elapsed time divided by big system elapsed time. Speedup holds the problem size constant and grows only the hardware.
- Linear scaleup
- The property that an N-times larger system performs an N-times larger job in the same elapsed time, so the ratio of small-system-on-small-problem time to big-system-on-big-problem time equals 1. Transaction scaleup grows the number of clients and small requests together with the database; batch scaleup runs the same single query over an N-times larger database.
- Interference
- The slowdown each newly added process imposes on all the others when they contend for shared resources such as a global memory, a cache or an interconnect. It is the barrier that shared-nothing architectures exist to minimize, since even 1% interference caps speedup at 37.
- Skew
- The condition where the variance in the size or cost of parallel steps exceeds the mean, so that the job's service time is set by its slowest step and added parallelism buys almost nothing. The paper distinguishes data skew, where one partition holds most of the tuples, from execution skew, where most of the work lands on one node.
- Shared-nothing
- A hardware architecture in which each memory and disk is owned by a single processor that acts as the server for that data, and processors communicate only by sending messages over an interconnection network. Because raw memory and disk accesses stay local, only filtered results cross the network.
- Declustering (data partitioning)
- Distributing the tuples of one relation over several disks, each attached to its own processor, so that the relation can be scanned in parallel. It is the storage-level precondition for partitioned execution and provides multi-disk bandwidth without specialized RAID hardware.
- Split operator
- A dataflow node that partitions or replicates one operator's output stream into several independent streams, mapping attribute values of each tuple to a destination process and port. It also implements buffering and flow control, stalling its producer when output buffers fill.
- Merge operator
- A dataflow node that combines several parallel data streams into a single sequential stream delivered to one input port of a downstream operator. Together with split it lets unmodified sequential relational operators run in parallel.
- Hash join
- A join algorithm that hash partitions both relations on the join attribute, builds a main-memory hash table from one partition of the first relation, and probes it with the matching partition of the second. It has linear rather than n log n cost and tolerates skew better than sort-merge join, unless the inputs already arrive sorted.