Technical catalog versus business glossary
Why do the technical catalog and the glossary decay differently, and which one should you back up?
Catalogs: technical versus business
These are not two views of one thing. They differ in their truth source, and that difference decides how you treat them.
- The technical catalog (what tables, columns and files exist) is constructed or observed. It reflects what exists, and you can rebuild it from scratch by crawling storage and engines. It is therefore disposable.
- The business glossary (what "active customer" means, which team is responsible) is asserted. Its source is human intent, which exists nowhere else in the system. It cannot be rebuilt at any price.
An operational consequence that most organizations get backwards:
The link between the two (term to columns, such as "active customer" to customers.last_login) carries the value and also the decay, because it is asserted about a structure that changes underneath it.
The load-bearing escape is the semantic layer (also called the metrics layer): a place where a metric such as "net revenue" is defined once in code, and every query executes that definition. A metric definition that queries run against cannot be wrong about what it means, because it is the meaning rather than a description of it. This is the central move of the topic in its purest form: an advisory glossary turned into a load-bearing definition, and thereby made unable to rot.
A glossary describes meaning and decays. A semantic layer enacts meaning and cannot.