Repository & Metadata Model

Before any connector, transformation, or data warehouse object is created, AnalyticsCreator requires a repository. The repository is a SQL Server database that stores the complete metadata definition of the data warehouse.

All objects defined in AnalyticsCreator—sources, transformations, keys, relationships, deployment settings, and workflows—are stored in this repository. It acts as the central control layer from which all SQL code and artifacts are generated.

Purpose

Provide a persistent metadata foundation that defines the structure, logic, and behavior of the data warehouse independently of the generated SQL artifacts.

Design Principle

AnalyticsCreator follows a metadata-driven approach where the repository contains the full definition of the data warehouse model. The repository is not a runtime system; it is a design-time control layer.

All generated objects (tables, views, procedures, pipelines) are derived from this metadata. Once generated and deployed, these objects can run independently of AnalyticsCreator.

Key principle:

  • Metadata stored in repository → SQL and pipelines generated → deployed to target system

Inputs / Outputs

Inputs

  • Repository name and SQL Server instance
  • Initial project configuration

Outputs

  • SQL Server database containing metadata
  • Structured definitions of:
    • Connectors
    • Source objects
    • Transformations
    • Keys and relationships
    • Deployment configurations

Internal Mechanics

1. Repository creation

When a new project is created, AnalyticsCreator initializes a SQL Server database that serves as the repository. This database contains all metadata required to define the data warehouse.

2. Metadata storage

Each object in AnalyticsCreator is stored as structured metadata. This includes:

  • Source definitions (tables, columns, data types)
  • Transformation logic
  • Historization settings
  • Dependencies between objects

The repository is fully accessible and can be queried or extended directly if required.

3. Central control layer

All design changes are written to the repository. No SQL objects are created in the target system at this stage.

The repository acts as the single source for:

  • Code generation
  • Deployment packaging
  • Dependency resolution

4. Separation of design-time and runtime

AnalyticsCreator operates purely at design time. The repository defines what will be generated, but execution happens only after deployment in the target environment (SQL Server, Azure, etc.).

Types / Variants

  • Local SQL Server repository (development setup)
  • Shared repository (team collaboration)
  • Version-controlled repository (via acrepo / JSON export)

Example

Creating a new repository results in a SQL Server database that contains metadata tables describing the data warehouse model.

Conceptually:

Repository (SQL Server)
├── Connectors
├── Sources
├── Transformations
├── Keys / Relationships
├── Deployment Config

No STG, CORE, or DM tables exist yet in the target system. Only their definitions are stored.

When to Use / When NOT to Use

Use when

  • Starting a new data warehouse project
  • Managing metadata centrally
  • Working in a team with shared definitions

Do NOT use as a runtime system

  • The repository does not store business data
  • It is not queried by reporting tools

Performance & Design Considerations

  • Repository size grows with model complexity, not data volume
  • Changes in metadata trigger regeneration, not direct SQL changes
  • Direct modifications in the target database can be overwritten during synchronization

Design trade-off:

  • Centralized metadata control vs direct SQL flexibility

Integration with other AC features

  • Connectors: stored and managed in repository
  • Wizard: reads metadata and generates draft models
  • Synchronization: converts metadata into SQL objects
  • Deployment: packages generated artifacts
  • CI/CD: repository can be versioned and exported

Common Pitfalls

  • Treating the repository as a data storage layer
  • Manually modifying generated SQL instead of metadata
  • Ignoring repository versioning in team environments
  • Mixing multiple environments in a single repository

Key Takeaway

The repository is the central metadata store that defines the entire data warehouse and drives all code generation and deployment in AnalyticsCreator.