Introduction

Introduction

What is Daana?

Transform operational data into business-ready analytics faster than manual ETL pipelines.

Daana CLI is a command-line tool that helps you transform raw operational data into clean, historized business entities using declarative YAML models. Instead of writing complex SQL transformations, you define what your business entities should look like, and Daana handles the rest.

It makes it easy to:

  • Quickly create new reports and gain insights - Clean, business-ready tables
  • Merge raw data from multiple operational systems - Unified view across sources
  • Establish a single source of truth - Consistent definitions and relationships
  • Reduce complexity for engineering teams - No more manual ETL code

Why Daana?

If you've worked with data transformations, you've likely encountered these challenges:

ChallengeTraditional ApproachDaana Approach
History tracking (SCD2)Write complex SQL with valid_from/valid_to logic, maintain manuallyDeclare effective_timestamp: true, history tracked automatically
Multi-source mergingFULL OUTER JOINs with conflict resolution, deduplication logicAdd tables to same mapping group, merged automatically
Schema evolutionALTER TABLE statements, migration scripts, breaking changesAdd attributes via metadata, no schema changes required
DocumentationSeparate wiki pages, often outdatedDefinitions live in model files, always current
ConsistencyDifferent teams, different implementationsOne model, one source of truth

What Makes Daana Different

Declarative over imperative: You define what your business entities should look like, not how to transform data. Daana generates the transformation logic.

Non-destructive development: Adding new attributes or entities never breaks existing pipelines. The underlying architecture (Focal Framework) separates data from schema.

Built-in temporality: Every attribute can track changes over time. Point-in-time queries work without additional effort.

AI-agent friendly: Daana's declarative model is a reliable foundation for AI-assisted development.

  • The model enforces structure: entities, attributes, and relationships have clear, unambiguous definitions
  • Unlike SQL projects with redundant logic and scattered business rules, Daana's single source of truth means AI agents can confidently understand context and generate correct configurations
  • CLI validation provides immediate feedback, so AI-generated output can be verified instantly

Tools like Cursor or Copilot become genuinely useful for designing models, writing mappings, and iterating on your data warehouse. See the AI-Assisted Mapping Guide for a detailed workflow.


Architecture Overview

Daana 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

Who Uses Daana?

Daana is designed for data architects, data engineers, and analytics engineers who:

  • Build and maintain data warehouses
  • Need automatic history tracking and multi-source integration
  • Want to reduce SQL maintenance overhead

Prerequisites: Familiarity with SQL, basic data warehousing concepts, and comfort with command-line tools.


Next Steps