Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

使用 Tigris

ClickHouse Cloud 不支持此功能

ClickHouse 的 s3 表函数和 S3 磁盘类型与 Tigris 兼容,后者是一项兼容 S3 的对象存储服务。Tigris 在 https://t3.storage.dev 提供一个全局端点,并从距离调用方最近的区域提供读取服务。因此,多区域 ClickHouse 集群可使用同一个存储桶 URL,无需为每个区域配置副本,也不会产生跨区域出口流量。

后端 MergeTree 配置只需稍作修改即可兼容:

<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>

s3 表函数使用同一端点:

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

可在 Tigris Console 中创建访问密钥。访问密钥 ID 以 tid_ 开头,密钥以 tsec_ 开头。

Navigation