Metadata model

Unlike traditional model platforms, trac is built around a structural metadata model which catalogues and describes everything on the platform. The model consists of two layers:

OBJECTS

The model’s structural elements. Each object type (e.g. models or data) has its own metadata structure

TAGS

Used to index, describe and control objects. Some tags are controlled by the platform, some are user-defined

By recording object creation and tag modification actions in a time-consistent manner, trac builds a comprehensive audit history of the entire platform and its contents.

Objects

Data, Models, Flows and Jobs are main ones, but trac uses six object types.

SCHEMA

Defines the names, types, constraints, and relationships of fields in a Data object. Schema objects can be re-used across Data objects. Two sub-types are supported: Table and Structured (or ‘Struct’).

DATA

Collections of data records that are available for use on the platform. Data objects contain their schemas, stored either as part of the Data object definition or by mapping to a Schema object.

MODEL

Discrete units of code stored in a repository that have been made available for use on the platform. A Model metadata object refers to and describes a versioned unit of code stored in the repository.

FLOW

The blueprint of a complex calculation involving multiple models which trac can run on demand, represented as a graph. Flows exist only as metadata and do not refer to any external resource or asset.

JOB

A calculation or process that trac has or will orchestrate — for example, to execute calculation using a Model or Flow and some data inputs.

FILE

A discrete unit of digital information that is available on trac. Files can be used as job inputs, but unlike Data, trac cannot describe or assure the contents of a File.

Note

‘Model schema’ refers to the set of schemas which describe a model’s inputs, outputs and parameters. This is not a separate object type, it’s part of the model object.

This diagram shows the interactions between different object types. See Virtual Deployment for more details.

select file

Note

Parameters are data inputs provided when initiating a calculation - they are stored as part of the Job definition, not as separate data objects.

Tags

Most tags are platform-controlled but users assign the following tags via the UI.

Tag

Use

Type

Applies to

KEY

A unique key which is used when searching for objects that are functionally interchangeable

String

Data & models

NAME

A short meaningful label for the object

String

All

DESCRIPTION

A slightly longer description, containing enough information to differentiate it from similar objects

String

All

SHOW IN SEARCH?

Should the object appear in search results (default = Y). Objects are never deleted but setting this tag to N hides them. Changing it back to Y un-hides them

Boolean

All

BUSINESS SEGMENT

An optional categorical tag to capture organisation-specific object identifiers, which can be defined with up to four hierarchical levels.

String

All

The metadata model is configurable, so additional tags can be defined when setting-up your installation (see Business segments).