TitanRDM Key Concepts

Reference Data

Reference data is additional data, often not found in transactional systems, that is used to map, categorise, augment, bucketize, rank, and organise data for the purposes of reporting, data integration, data migration, regulatory reporting, config data management, metadata and even simple apps. Examples include:

  • Product categories and hierarchies
  • GL account mappings
  • Configuration parameters
  • Bucketizing time of day into shifts (e.g., morning, afternoon, evening)
  • Augmenting data with additional attributes or values, e.g. capacity limits
  • Categorising Customers
  • Simple lists like Country, currency codes, Status and type codes

In TitanRDM, each reference data set is stored as a table with a defined structure (columns, data types, primary keys, foreign keys). The tables can reference other tables for mapping, categorisation, and hierarchy definition.

Domains

A domain is an information subject area (e.g., Finance, Sales, HR) used to organise your tables and control who can access them. Every table belongs to exactly one domain. Permissions are granted at the domain level (or at the table level), so you can give your finance team access to finance tables without exposing HR data.

  • Domains — more details about domains and how they are used to organise tables and control access

Table Definitions and Column Definitions

A table definition describes the structure of a reference data table — its name, domain, and the set of column definitions that specify each column's name, data type, constraints (primary key, required, foreign key), and validation rules (valid values, length).

Table definitions are metadata — they describe what the table looks like. When you deploy a table definition, TitanRDM creates or alters the actual physical database table to match.

  • Table Definitions — more details about table definitions and how they are used to define the structure of reference data tables

Branches and Environments

TitanRDM separates where table definitions are developed from where data lives:

  • A branch holds table definitions. Every developer has their own development branch to make changes in isolation; shared branches such as main collect the changes that are ready.
  • An environment — such as Prod, Stage, or a developer's own Dev environment — holds the deployed tables and their data. Each environment is deployed from one branch, and one branch can deploy to several environments.

End users choose the environment they work in. Developers work on the table definitions of the branch that deploys to their current environment.

  • Branches — more details about branches and how they are used to manage changes
  • Environments — more details about environments, where your data lives

Note: Branching, environments and promotion are available on all plans.

Deployments

A deployment applies a branch's table definitions to an environment. When you create or modify a table definition, those changes are not live until you deploy. The deployment process shows you a diff of exactly what will change — new tables, altered columns, removed columns — so you can review before applying.

  • Deployments — more details about deployments and how they are used to apply table definition changes to an environment

Promotions

A promotion moves table definition changes from one branch to another — typically from a developer's branch into main. Promotions include a diff review and an approval workflow. When a promotion completes, a deployment is created for every environment the target branch deploys to.

  • Promotions — more details about promotions and how they are used to move changes between branches

Imports and Exports

TitanRDM supports importing data from CSV, Excel, JSON, and Parquet files, and exporting data to CSV. Imports can be performed through the UI or programmatically via the API/SDK. You can define reusable import mappings that map file columns to table columns, making repeated imports consistent and fast.