The "schema" that is in the data dump is derived from the SEDE database schema (the data in SEDE is imported once a week from the live DB - it is cleaned up to remove non-public identifying information and doesn't change till the next import). This schema is not identical to the schema used in the live production databases.
Having said that, the live database schema does have a few denormalized fields - this is done for performance where needed (we start normalized and when we identify a bottleneck that denormalization would help with, we consider that option and sometimes implement it - Score
on the Posts
table is one example).
The normalized data is the source of truth and we have daily jobs that fix up discrepancies that can occur on the denormalized data (Tags
on the Posts
table are one other example).
We do use redis as (mostly) a caching layer - but that isn't our single source of truth, just a cache.