# Model Materializations

Materializations are strategies that determine how dbt™ persists your models in the data warehouse. Think of them as different ways to store and update your transformed data.

### Available Materialization Types

| Type                                                                                                                          | Description                                | Best For                                     |
| ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | -------------------------------------------- |
| [View](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/view-materialization)               | A saved query that runs on-demand          | Simple transformations, real-time data needs |
| [Table](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/table-materialization)             | A physically stored copy of your data      | BI tools, complex queries, frequent access   |
| [Incremental](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/incremental-materialization) | A table that updates only new/changed data | Large datasets, frequent updates             |
| [Ephemeral](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/ephemeral-materialization)     | Code that's injected into dependent models | Large datasets, frequent updates             |

{% hint style="info" %}
If you don't specify a materialization, dbt™ will create your model as a [view](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/view-materialization) by default.
{% endhint %}

***

### Configuring Materializations

You can configure materializations in two ways:

#### 1. Project Level (dbt\_project.yml)

{% code title="dbt\_project.yml" %}

```yaml
models:
  your_project:
    finance:
      +materialized: table    # All finance models as tables
    staging:
      +materialized: view     # All staging models as views
```

{% endcode %}

#### 2. Model Level (in .sql files)

```sql
{{ 
  config(
    materialized='table'
  )
}}

select * from ...
```

***

### Choosing the Right Materialization

Consider these factors when selecting a materialization:

| Factor              | Consideration                              |
| ------------------- | ------------------------------------------ |
| 🔄 Data Freshness   | How current does the data need to be?      |
| ⚡ Query Performance | How current does the data need to be?      |
| 📊 Data Volume      | How much data are you transforming?        |
| 💰 Resource Cost    | What are your compute/storage constraints? |

***

{% hint style="info" %}
Learn more about each materialization type in their dedicated documentation pages:

* [View Materialization](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/view-materialization)
* [Table Materialization](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/table-materialization)
* [Incremental Materialization](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/incremental-materialization)
* [Ephemeral Materialization](https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations/ephemeral-materialization)
  {% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paradime.io/app-help/concepts/dbt-fundamentals/model-materializations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
