Introduction

Introduction

Daana CLI provides a complete data transformation platform built on the Focal framework.

Architecture

The CLI handles the entire data transformation lifecycle:

  • YAML-Based Modeling: Define data models, mappings, and workflows in human-readable YAML
  • Template Generation: Auto-generate scaffolding for mappings and workflows
  • Built-in Validation: Check your configurations before deployment
  • One-Command Deployment: Deploy everything with a single command
  • Multi-Database Support: Works with PostgreSQL, BigQuery, Snowflake, Oracle, and Microsoft SQL Server

The CLI provides a unified interface for the entire data transformation workflow, from model definition to production deployment.

The Four Components of DMDL

The Daana Model Description Language (DMDL) consists of four YAML file types 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

From defining your model to executing transformations, here's the typical workflow:

  1. init - Create project with template files
  2. install - Set up framework in your database
  3. Edit model.yaml and connections.yaml to define your data
  4. generate - Create mapping templates for entities
  5. Edit mappings to connect to your data sources
  6. check - Validate your configurations
  7. deploy - Deploy workflow to database
  8. execute - Run data transformations

Next Steps

  • New to Daana? Start with the Tutorial for a hands-on walkthrough using real e-commerce data
  • Want to learn DMDL? Dive into the DMDL documentation for detailed guides on each component