Designing Data Warehouse Architecture

1. Designing Data Warehouse Schema

SchemaDescription
StarCentral fact + denormalized dimensions
SnowflakeNormalized dimensions
Galaxy / ConstellationMultiple facts share dims
Data VaultHubs/Links/Satellites; auditable
One Big Table (OBT)Wide table for analytic engines

2. Designing ETL vs ELT Strategy

AspectETLELT
Transform LocationBefore loadIn warehouse
ComputeSpark clusterSnowflake/BigQuery
ToolingInformatica, Talenddbt, Fivetran + dbt
Best forSensitive PII filtering earlyModern cloud DW

3. Designing Data Mart Architecture

TypeDetail
DependentBuilt from central DW
IndependentStandalone from sources
HybridMix; common in practice
Use caseDepartment-specific (Finance, Marketing)

4. Designing Slowly Changing Dimensions

TypeBehavior
SCD 0Never change
SCD 1Overwrite (no history)
SCD 2New row + valid_from/to + current_flag
SCD 3Add prev value column
SCD 4History table separate
SCD 6Combination of 1+2+3

5. Designing Fact and Dimension Tables

TableDetail
FactMeasurable events; FKs to dims; numeric measures
DimensionDescriptive context (date, product, customer)
GrainDefine what one row of fact represents
Conformed dimShared across facts
Surrogate keyInteger PK independent of source

6. Designing Data Warehouse Partitioning

StrategyDetail
Time partitionBy day/month for fact tables
Cluster keysSnowflake clustering / BigQuery clustering
Z-order (Delta)Multi-dim co-locate
Partition pruningEngine skips irrelevant partitions

7. Designing Data Warehouse Indexing

Index TypeDetail
Sort key (Redshift)Order data on disk
Min/max statsAuto file-skipping (Parquet, Iceberg)
Bloom filtersExistence pruning
Materialized viewsPrecomputed aggregates
Bitmap (legacy)Low-cardinality columns

8. Designing Data Quality Framework

DimensionCheck
CompletenessNot-null %
UniquenessPK / unique constraints
ValidityRange, regex, enum
ConsistencyCross-table relationships
TimelinessFreshness SLA
AccuracyReconcile vs source

9. Designing Data Lineage Tracking

ToolDetail
OpenLineageOpen standard
DataHub / AmundsenCatalogs with lineage
dbt docsSQL-derived lineage graph
MarquezLineage server
UseImpact analysis, debugging, compliance

10. Designing Data Warehouse Performance Optimization

LeverDetail
Right partitioningMost queries hit few partitions
Cluster / sort keysReduce data scanned
Avoid SELECT *Columnar projection
Pre-aggregateMVs / cubes
Workload mgmtResource queues per workload

11. Designing Data Warehouse Security

ControlDetail
RBACRoles for analyst/engineer/admin
Row-level securityPredicate per user/tenant
Column maskingHide PII for non-privileged
EncryptionAt rest + in transit; KMS-backed
Audit logWho queried what

12. Designing Data Catalog and Metadata Management

CapabilityTool
DiscoveryDataHub, Amundsen, Atlan, Collibra
TaggingPII, owner, domain
GlossaryBusiness terms ↔ technical fields
Quality scoringSurface trust signals