ODA User Guide

Data Destinations

Learn how data destinations work in Optra Data Studio, including zone rules, destination configuration, and lineage tracking.

Data destinations are the zone nodes that receive transformation output in the project graph. In the backend, this relationship is represented by writes_to edges from transformation nodes to zone nodes.

How Destinations Are Defined

When you add a transformation from a zone on the canvas, the system creates a transformation node with a reads_from edge from that zone. Destination zones are then added as downstream nodes and connected with writes_to edges.

This means a transformation can have:

  • Multiple reads_from source edges (for multi-source logic)
  • One or more writes_to destination edges

In the transformation panel code, destinations are loaded from outbound (to) edges, and the UI comment explicitly notes that destination can be multiple for semantic-layer scenarios.

Zone-to-Zone Destination Rules

The zone add flow enforces destination progression like this:

  • From raw: next zones can be bronze, silver, or gold
  • From bronze: next zones can be bronze, silver, or gold
  • From silver: next zones can be silver or gold
  • From gold: next zone can be gold

So, same-zone refinement is supported (bronze -> bronze, silver -> silver, gold -> gold) in addition to forward progression.

Source Eligibility by Destination

When linking additional sources to a transformation, the backend applies destination-aware source limits:

  • Destination bronze: allowed sources are raw
  • Destination silver: allowed sources are raw and bronze
  • Destination gold: allowed sources are raw, bronze, and silver

This is computed from the transformation's current destination edges and used to filter linkable source zones.

Destination and Lineage Metadata

Destination flow is tracked through graph metadata:

  • Node zone values are enum-based (source, raw, bronze, silver, gold)
  • Edge kinds are enum-based (reads_from, writes_to, contained_in, controls)
  • Transformation output lineage is therefore traceable as zone -> transformation -> zone

This graph model is what powers lineage visualization and determines what can be linked as upstream sources or downstream destinations.