Structure of arrays (SoA)
A memory layout storing each field in its own contiguous array (x[], y[], z[]) rather than an array of whole structs, for cache-friendly, vectorisable iteration.
The opposite is "array of structs" (AoS): {x,y,z}[], where each element's fields sit together. SoA turns that inside out — x[], y[], z[] each on its own. When you touch only one field across every element, SoA reads only the cache lines it needs, and straight arrays vectorise cleanly with SIMD. AoS instead wastes bandwidth on fields you never looked at.
It is the backbone of data-oriented design and of how ECS libraries store components — often as a sparse set per type. The downside: pulling all fields of a single element scatters the reads across several arrays.