Model materialization

When creating a model in DinMo, you can choose whether to materialize it in your data warehouse or keep it non-materialized (live). This setting impacts data freshness, performance, and query costs.

Here is an overview of the difference between a materialized model and a live model, to help you choose based on your use cases.

Model modes

Materialized Models

A materialized model stores query results as a physical table in your data warehouse (e.g., BigQuery, Snowflake). The table is refreshed on a defined schedule.

How it works:

  • DinMo executes the model’s SQL and writes the results to a dedicated table.

  • Subsequent operations (segment creation, activation, predictions) read directly from this table.

Pros

  • Faster queries and improved performance.

  • Reduced query costs (reused results).

  • Stable data snapshot for consistent analysis.

Cons

  • Data freshness depends on the refresh schedule.

Live Models

A live (=non-materialized model) remains a logical view — it is queried in real time each time it’s used.

How it works:

  • DinMo runs the SQL query on-demand whenever the model is referenced.

  • Results always reflect the most up-to-date data in your warehouse.

Pros

  • Always fresh data.

  • No need to manage refreshes.

Cons

  • Slower query execution (SQL runs at each use).

  • Higher warehouse costs for frequent access.

Model configuration

By default, a model is always live. If you want to materialize it for cost or performance reasons, you can do so in the model's advanced settings.

At the model's creation

When choosing the table or entering the SQL query that determines the model definition, there is an “Advanced settings” option.

Click on this option and check the box to materialize the model as a table.

You can then choose the refresh frequency for your model (based on intervals or a custom recurrence)

At the model's edition

It is possible to switch from a live model to a materialized model by going to the setup page for the model in question and clicking on “Edit.”

The flow then remains the same as when creating a model.

Materialization History

The "Materialization history" tab allows you to view the history, with the status of each run, the objects affected (entire model and/or calculated fields), and the time of the update.

Last updated