Loading section...

The Nesting Decision

When to Nest vs When to Normalize The fundamental question: should related data live inside the parent row (nested) or in a separate table (normalized)? Both are valid. The choice depends on how the data is queried, how often it changes, and whether the nested data needs to be joined to independently. Nesting works well when the child data is always read alongside the parent. A user's shipping addresses are almost always retrieved when loading the user record. Normalizing this into a separate addresses table forces a JOIN on every user load. Nesting the addresses as an ARRAY<STRUCT> inside the user row eliminates that JOIN. Decision Framework A common mistake: nesting everything because the source data is JSON. Just because the API returns nested JSON does not mean your analytical table sh