ClickHouse

什么是 ClickHouse
ClickHouse 是一个开源的面向列的数据库管理系统,专为在线分析处理 (OLAP) 设计。
它以其在大型数据集上出色的查询性能而闻名,非常适合实时分析和数据仓库应用。
ClickHouse 使用面向列的存储格式,并采用各种优化(如向量化查询执行)来实现高性能。
它支持带有扩展的 SQL,可以处理批量和流式数据摄入,使其在各种分析工作负载中具有通用性。
备份和恢复指南
目前,Coolify 不支持修改 ClickHouse 配置,这意味着某些原生备份选项(例如,备份到本地磁盘或使用 ALTER TABLE ... FREEZE PARTITION ...)是不可能的。相反,推荐的方法是使用 S3 进行备份。
如何备份 ClickHouse
要备份表或整个数据库,请使用以下 SQL 命令:
- 备份表:
sql
BACKUP TABLE <表名> TO S3('<您的_s3_endpoint_com>/<表备份的唯一文件夹>', '<s3_access_key>', '<s3_secret_key>')- 备份数据库: 将
TABLE替换为DATABASE以备份整个数据库:
sql
BACKUP DATABASE <数据库名> TO S3('<您的_s3_endpoint_com>/<数据库备份的唯一文件夹>', '<s3_access_key>', '<s3_secret_key>')如何恢复 ClickHouse
要从 S3 备份恢复表或数据库,请使用相应的 RESTORE 命令:
- 恢复表:
sql
RESTORE TABLE <表名> FROM S3('<您的_s3_endpoint_com>/<表备份的唯一文件夹>', '<s3_access_key>', '<s3_secret_key>')- 恢复数据库: 将
TABLE替换为DATABASE以恢复整个数据库:
sql
RESTORE DATABASE <数据库名> FROM S3('<您的_s3_endpoint_com>/<数据库备份的唯一文件夹>', '<s3_access_key>', '<s3_secret_key>')不支持的功能
- 磁盘备份:
sql
BACKUP TABLE test.table TO Disk('backups', '1.zip')由于 Coolify 不允许修改 ClickHouse 配置,此功能不可用。
- 原生分区冻结:
sql
ALTER TABLE ... FREEZE PARTITION ...可能由于 Docker/Coolify 文件结构的限制而无法使用。
- clickhouse-backup 工具: 由于类似的配置限制,像 clickhouse-backup 这样的外部工具可能无法在 Docker/Coolify 设置中正常运行。
性能说明
一位社区成员分享,备份 145GB 的数据库大约需要 12 分钟,而恢复它大约需要 17 分钟。
