Coolify logoCoolify

ClickHouse

Coolify clickhouse

什么是 ClickHouse

ClickHouse 是一个开源的面向列的数据库管理系统,专为在线分析处理 (OLAP) 而设计。

它以在大型数据集上卓越的查询性能而闻名,使其成为实时分析和数据仓库应用的理想选择。

ClickHouse 使用面向列的存储格式,并采用各种优化技术(如向量化查询执行)以实现高性能。

它支持带有扩展的 SQL,可以处理批量和流式数据摄取,使其适用于各种分析工作负载。

连接

映射端口 8123:8123 以启用 HTTP 接口。

在 DBeaver 中,连接到 http://__ip_address__:8123 并使用 default 用户名以及界面中设置的密码。

如果您还需要原生 TCP 协议(clickhouse-client CLI 使用),请同时发布 9000:9000

备份与恢复指南

目前,Coolify 不支持修改 ClickHouse 配置,这意味着某些原生备份选项(例如备份到本地磁盘或使用 ALTER TABLE ... FREEZE PARTITION ...)不可用。因此,推荐使用 S3 进行备份。

如何备份 ClickHouse

要备份表或整个数据库,请使用以下 SQL 命令:

  • 备份表:
BACKUP TABLE <table_name> TO S3('<your_s3_endpoint_com>/<unique_folder_for_table_backup>', '<s3_access_key>', '<s3_secret_key>')
  • 备份数据库:TABLE 替换为 DATABASE 以备份整个数据库:
BACKUP DATABASE <database_name> TO S3('<your_s3_endpoint_com>/<unique_folder_for_database_backup>', '<s3_access_key>', '<s3_secret_key>')

如何恢复 ClickHouse

要从 S3 备份中恢复表或数据库,请使用相应的 RESTORE 命令:

  • 恢复表:
RESTORE TABLE <table_name> FROM S3('<your_s3_endpoint_com>/<unique_folder_from_table_backup>', '<s3_access_key>', '<s3_secret_key>')
  • 恢复数据库:TABLE 替换为 DATABASE 以恢复整个数据库:
RESTORE DATABASE <database_name> FROM S3('<your_s3_endpoint_com>/<unique_folder_from_database_backup>', '<s3_access_key>', '<s3_secret_key>')

不起作用的功能

  • 磁盘备份:
BACKUP TABLE test.table TO Disk('backups', '1.zip')

由于 Coolify 不允许修改 ClickHouse 配置,因此无法工作。

  • 原生分区冻结:
ALTER TABLE ... FREEZE PARTITION ...

由于 Docker/Coolify 文件结构的限制,可能无法工作。

  • clickhouse-backup 工具: 由于类似的配置限制,外部工具如 clickhouse-backup 可能在 Docker/Coolify 环境中无法正常运行。

性能说明

社区成员分享称,备份一个 145GB 的数据库大约需要 12 分钟,而恢复它大约需要 17 分钟。

链接

On this page