Skip to main content

Standard Naming Policy

Below is a data architecture naming guide, tailored to ZAYAZ. It determines:

  • How understandable the system is to new engineers
  • How scalable it becomes
  • How natural it is to map signals → engines → modules → data products
  • How easy it is for AI Agents to reason about the data graph

Industry-Standard Families of Table Prefixes

1. dim_ — Dimension Tables

Static or slow-changing entities.

Examples:

  • dim_countries
  • dim_units
  • dim_sectors
  • dim_products

2. fact_ — Fact Tables

Event or transaction tables with measures.

Examples:

  • fact_emissions
  • fact_energy_usage
  • fact_risk_events

3. ref_ — Reference Tables

Small enumerations, taxonomies, lookup lists.

Examples:

  • ref_signal_types
  • ref_nace_codes
  • ref_emission_factors
  • ref_units

Ref tables are similar to dims but usually have no SCD logic, and are often manually curated.

4. stg_ — Staging Tables

Raw ingested data, minimally cleaned.

Examples:

  • stg_efdb_raw
  • stg_country_codes_raw

Perfect for intermediate imports from Excel or APIs.

5. int_ — Intermediate Tables

Transformation layers between staging and fact/dim.

Examples:

  • int_emissions_enriched
  • int_products_normalized

Good fit for ZAYAZ engines that merge multiple sources.

6. agg_ — Aggregated Tables

Pre-aggregated or summary data for performance.

Examples:

  • agg_emissions_by_country
  • agg_risk_by_nace

Perfect for FIRM (Financial Impact & Risk Modeling).

7. mrt_ — Mart Tables (Domain-specific)

Subject-area optimized tables used by downstream apps.

Examples:

  • mrt_ghg_reporting
  • mrt_sustainability_scores
  • mrt_circularity_kpis

8. tmp_ or _tmp — Temporary Tables

Used by pipelines, removed after processing.

9. rl_ — Relation / Bridge Tables

Used to connect many-to-many relationships.

Examples:

  • rl_product_nace
  • rl_signal_source

Useful for signal routing across engines.

10. gold_, silver_, bronze_ (Delta/Lakehouse convention)

A popular alternative naming system:

  • bronze → raw ingestion (like stg_)
  • silver → cleaned, normalized (like int_)
  • gold → analytics-ready (like fact_, dim_, agg_)

This is modern, elegant, and widely adopted.

11. eng_ — Engine Output Tables

When an engine emits structured tabular outputs.

Examples:

  • eng_pef_io
  • eng_zhif_hazards

12. mod_ — Module Output Tables

When a module (FIRM, COSE, RIF, etc.) produces transformed datasets.

Examples:

  • mod_firm_scenario_risk
  • mod_cose_violations

13. sig_ — Signal Definitions

Signals registry dataset.

Examples:

  • sig_registry
  • sig_emissions_v1

PrefixMeaningZAYAZ Usage
dim_DimensionsCountries, Units, Sectors
fact_Facts (events)Emissions, indicators
ref_Reference dataEFDB, NACE
stg_StagingRaw Excel/API imports
int_IntermediateEngine merge outputs
agg_AggregatesKPI rollups
mrt_Data martsDomain-tailored outputs
tmp_TemporaryPipeline intermediates
rl_RelationsMany-to-many links
eng_Engine outputsPEF, ZHIF results
mod_Module outputsFIRM, COSE
sig_Signals registrySignal definitions
bronze _ / silver _ / gold_Lakehouse layersOptional modern style

Naming structure for signals ("family")

  • "family": "audit" → audit_id, timestamp, created_by
  • "family": "id" → iso_cc_id, nace_id, product_id
  • "family": "code" → iso_cc, nace_code, unit_code
  • "family": "metric" → co2e_kg, energy_kwh, risk_score
  • "family": "classification" → risk_level, material_class
  • "family": "geo" → country, region, lat, lon
  • "family": "time" → period_start, period_end, year
  • "family": "flag" → is_primary, is_estimated
  • "family": "text" → description, comment

14. ZAYAZ Standard Status Vocabulary

14.1. draft

The signal/module/engine is being designed. Structure may change.

Use when:

  • Something is newly introduced
  • Not yet ready for consumption
  • Needs internal validation

14.2. experimental

The definition is functional but not yet stable.

Use when:

  • Used in prototypes or edge engines
  • Changes are expected
  • You want developers to test it, but not rely on it for production

14.3. stable

Recommended and actively supported.

Use when:

  • Fully documented
  • Schema validated
  • Used across multiple engines/modules
  • ackwards-compatible guarantees apply

This will be the most common value.

14.4. legacy

Still present, but scheduled for phase-out.

Use when:

  • Existing systems depend on it
  • Can’t remove yet
  • Should not be used for new development

14.5. deprecated

No longer recommended. Will be removed.

Use for:

  • Hard phase-outs
  • When a replacement exists
  • Requires a migration path

14.6. retired

Removed from active use and will not return.

Use when:

  • Fully removed from code/engines
  • Kept in registry only for historical audit purposes

14.7. Default Vocabulary set for ZAYAZ (compact list)

StatusMeaning
draftInitial definition; still in progress.
experimentalWorking but unstable; may change.
stableFully supported and recommended.
legacy Old but still needed for compatibility.
deprecatedAvoid use; replacement exists; removal planned.
retiredRemoved; only present for audit/history.



GitHub RepoRequest for Change (RFC)