---
title: Table Engines reference
meta:
    description: Use the following table engines in your Data Sources.
---

# Table engines

Tinybird features different strategies to store data, which define where and how the data is stored and also what kind of data access, queries, and availability your data has. A Tinybird Data Source uses a table engine that determines those factors.

With Tinybird you can select the Table Engine for your Data Source. Tinybird supports the following engines:

- [MergeTree](/sql-reference/engines/mergetree)
- [AggregatingMergeTree](/sql-reference/engines/aggregatingmergetree)
- [ReplacingMergeTree](/sql-reference/engines/replacingmergetree)
- [SummingMergeTree](/sql-reference/engines/summingmergetree)
- [CollapsingMergeTree](/sql-reference/engines/collapsingmergetree)
- [VersionedCollapsingMergeTree](/sql-reference/engines/versionedcollapsingmergetree)
- [Null](/sql-reference/engines/null)

You can use the `engine` parameter in the [Data Sources API](/api-reference/datasource-api) to specify the name of any of the available engines, for example `engine=ReplacingMergeTree`. To set the engine parameters and the engine options, use as many `engine_*` request parameters as needed. You can also configure settings in .datasource files.

The supported parameters for each engine are:

{% table %}
  * ENGINE
  * SIGNATURE
  * PARAMETER
  * DESCRIPTION
  ---
  * ReplacingMergeTree
  * `(ver, is_deleted)`
  * `engine_ver`
  * Optional. The column with the version. If not set, the last row is kept during a merge. If set, the maximum version is kept.
  ---
  *
  *
  * `engine_is_deleted`
  * Active only when `ver` is used. The name of the column used to determine whether the row is to be deleted; `1` is a `deleted` row, `0` is a `state` row.
  ---
  * SummingMergeTree
  * `([columns])`
  * `engine_columns`
  * Optional. The names of columns where values are summarized.
  ---
  * CollapsingMergeTree
  * `(sign)`
  * `engine_sign`
  * Name of the column for computing the state.
  ---
  * VersionedCollapsingMergeTree
  * `(sign, version)`
  * `engine_sign`
  * Name of the column for computing the state.
  ---
  *
  *
  * `engine_version`
  * Name of the column with the version of the object state.
{% /table %}

See the [Data Sources API](/api-reference/datasource-api) for examples of creating Data Sources with custom engine settings using the Tinybird REST API.
