Skip to main content
Skip to main content

Using Tigris

Not supported in ClickHouse Cloud
Note

This page isn't applicable to ClickHouse Cloud. The feature documented here isn't available in ClickHouse Cloud services. See the ClickHouse Cloud Compatibility guide for more information.

ClickHouse's s3 table function and S3 disk type are compatible with Tigris, an S3-compatible object storage service. Tigris exposes a single global endpoint at https://t3.storage.dev with reads served from the region nearest the caller, so a multi-region ClickHouse fleet can point at one bucket URL without per-region replicas or cross-region egress.

The backed merge tree configuration is compatible with minor changes:

<clickhouse>
    <storage_configuration>
        ...
        <disks>
            <s3>
                <type>s3</type>
                <endpoint>https://your-bucket.t3.storage.dev/tables/</endpoint>
                <access_key_id>your_access_key_id</access_key_id>
                <secret_access_key>your_secret_access_key</secret_access_key>
                <region>auto</region>
                <metadata_path>/var/lib/clickhouse/disks/s3/</metadata_path>
            </s3>
            <s3_cache>
                <type>cache</type>
                <disk>s3</disk>
                <path>/var/lib/clickhouse/disks/s3_cache/</path>
                <max_size>10Gi</max_size>
            </s3_cache>
        </disks>
        ...
    </storage_configuration>
</clickhouse>
Tip

Set <region>auto</region>. Tigris uses a single global endpoint rather than per-region buckets, but the AWS SigV4 signing flow that ClickHouse uses still requires a region value, and auto is the convention.

The s3 table function works against the same endpoint:

SELECT *
FROM s3(
    'https://your-bucket.t3.storage.dev/path/to/file.parquet',
    'your_access_key_id',
    'your_secret_access_key',
    'Parquet'
);

Access keys can be created from the Tigris Console. Access key IDs are prefixed with tid_ and secrets with tsec_.