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.