Engine settings

You can customize table engine settings to better match your needs.

The engine options are: engine_partition_key, engine_sorting_key, engine_primary_key, engine_sampling_key, engine_ttl and engine_settings.

If engine_partition_key is empty or not passed as a parameter, the underlying Data Source doesn't have any partition unless there's a Date column. In that case the Data Source is partitioned by year. If you want to create a Data Source with no partitions, send engine_partition_key=tuple().

Don't change the following settings unless you are familiar with them and understand their impact. If you're unsure, contact Tinybird at support@tinybird.co or in the Community Slack.

The supported engine settings are:

  • index_granularity
  • merge_with_ttl_timeout
  • ttl_only_drop_parts
  • min_bytes_for_wide_part
  • min_rows_for_wide_part

index_granularity

Maximum number of data rows between the marks of an index.

Default value: 8192.

merge_with_ttl_timeout

Minimum delay in seconds before repeating a merge with delete TTL.

Default value: 14400 seconds (4 hours).

ttl_only_drop_parts

Controls whether data parts are fully dropped in MergeTree tables when all rows in that part have expired according to their TTL settings.

When ttl_only_drop_parts is disabled (by default), only the rows that have expired based on their TTL settings are removed.

When ttl_only_drop_parts is enabled, the entire part is dropped if all rows in that part have expired according to their TTL settings.

Default value: 0.

min_bytes_for_wide_part

Minimum number of bytes/rows in a data part that can be stored in Wide format. You can set one, both or none of these settings.

Was this page helpful?
Updated