Skip to content

Metadata & Data Objects

Metadata is the foundation of everything you do in ADL. It’s a structured description of your data solution — what tables exist, what columns they have, where they live, and how they relate to each other.

Think of metadata as a blueprint. Just as an architect draws plans before building a house, you describe your data solution in metadata before generating the code to build it.

A Data Connection cable represents a place where data lives — a database, a schema, a warehouse. It captures:

  • Name: a friendly label for this connection (e.g., “Staging Database”, “Production Warehouse”).
  • Connection type: what kind of system this is (SQL Server, Snowflake, PostgreSQL, etc.).
  • Location details: the schema, catalog, or other location info needed to qualify objects.

You’ll typically have a handful of connections in a project — one for your source system, one for your staging area, one for your warehouse, and so on.

A Data Object table_chart represents a structure in your data solution — usually a table, view, or query. It’s the central building block in ADL.

Each Data Object belongs to a Data Connection (telling ADL where it lives) and contains:

  • Data Items view_column: the columns or fields in this object. Each Data Item has a name, data type, nullability, and other properties you’d expect from a column definition.
  • Business Key Definitions: which columns make up the primary or business key for this object.
  • Relationships: links to other Data Objects, similar to foreign key relationships.
  • Classifications: tags like “PII” or “Sensitive” that help you track compliance requirements.
  • Extensions: custom key-value pairs for any additional metadata you need to track.

A Data Object Mapping swap_horiz describes how data flows from one object to another. It connects a source Data Object to a target Data Object, and includes:

  • Data Item Mappings: how individual columns map from source to target, including any transformation logic.
  • Filter criteria: conditions that determine which rows are included.
  • Business keys: key definitions used for matching and merging records.

Mappings are essential for generating ETL/ELT code — stored procedures, views, or scripts that move and transform data between layers of your solution.

All metadata is saved as JSON files in your project folder. The structure is straightforward:

  • Each type of metadata (connections, data objects, mappings, etc.) lives in its own subfolder.
  • Each entity is a separate JSON file.
  • The JSON format follows the open-source Generation Metadata Schema.

This means your metadata is:

  • Readable: open any file in a text editor and see exactly what’s there.
  • Versionable: track changes in Git just like source code.
  • Portable: move it between projects, share it with colleagues, or process it with your own tools.

You can create and edit metadata directly in the ADL app:

You can also import metadata from existing databases using the Metadata Importer.