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
- AggregatingMergeTree
- ReplacingMergeTree
- SummingMergeTree
- CollapsingMergeTree
- VersionedCollapsingMergeTree
- Null
You can use the engine
parameter in the Data Sources 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:
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. |
See the Data Sources API for examples of creating Data Sources with custom engine settings using the Tinybird REST API.