Metadata model¶
Unlike traditional solutions, the trac platform 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 |
Note
By recording object creation and tag modification actions in a time-consistent manner, the trac platform builds a comprehensive audit history of the entire platform and its contents.
Objects¶
All processes on trac are constructed using a combination of 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 trac cannot describe or assure the contents of a File. |
Note
The term 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.