DMDL
Overview

Daana Model Description Language

The Daana Model Description Language (DMDL) is a YAML-based declarative language for defining data transformation pipelines. It provides a structured way to describe your business domain and how data flows from source systems to your analytics warehouse.

Core Components

DMDL consists of four main components that work together:

┌─────────────┐     ┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│    Model    │────▶│   Mapping   │────▶│  Workflow   │────▶│ Connections │
│   (What)    │     │    (How)    │     │   (When)    │     │   (Where)   │
└─────────────┘     └─────────────┘     └─────────────┘     └─────────────┘
      │                   │                   │                   │
      ▼                   ▼                   ▼                   ▼
   Entities          Source Tables      Execution Order      Databases
   Attributes        Transformations    Scheduling           Credentials
   Relationships     Filters            Dependencies         Endpoints

Model - What

The Model defines your business domain - the entities, attributes, and relationships that make up your data model. This is your semantic layer that describes *what* data you're working with.

Learn about Models →

Mapping - How

Mappings connect your source data to your model. They specify *how* data from operational databases maps to the entities and attributes you've defined.

Learn about Mappings →

Workflow - When

Workflows orchestrate the execution of your data transformations. They define *when* and *in what order* your mappings are executed.

Learn about Workflows →

Connections - Where

Connections define *where* your data lives - the database connection profiles for your source systems and data warehouse.

Learn about Connectionss →

The Workflow

  1. Define your Model - Describe your business entities and their attributes
  2. Create Mappings - Connect source tables to model entities
  3. Configure Workflow - Set up execution order and scheduling
  4. Set up Connections - Define database connection profiles

Getting Started

If you're new to DMDL, we recommend starting with the Tutorial which walks through creating a complete data pipeline from scratch.