gpt4 book ai didi

database - Clickhouse:如何对已分区表和未分区表的 Clickhouse 数据库进行增量备份?

转载 作者:行者123 更新时间:2023-12-03 18:44:52 25 4
gpt4 key购买 nike

需要备份Clickhouse DB,
有些表是分区的,有些不是。

如果可能,请提供一些脚本或代码以便更好地理解。

最佳答案

请先查看官方页面 Official Doc's
有多种方式进行备份。但他们都有自己的缺点。
方法 1
转储数据的一般步骤:
有关格式列表,请参阅 this

clickhouse-client --query="SELECT * FROM table FORMAT Native" > table.native
Native is the most efficient format
CSV, TabSeparated, JSONEachRow are more portable: you may import/export data to another DBMS.

Dump of metadata:
clickhouse-client --query="SHOW CREATE TABLE table" --format=TabSeparatedRaw > table.sql

Restore of metadata:
clickhouse-client < table.sql

Restore of data:
clickhouse-client --query="INSERT INTO table FORMAT Native" < table.native
方法 2
  • ALTER TABLE ... FREEZE PARTITION 命令似乎只是创建一个分区的本地快照
    ALTER TABLE ...卡住分区

  • 方法 3
  • 你可以查看这个项目链接 Clickhouse Backup

  • 这个工具是非常简单的 ClickHouse 备份和恢复与 S3 支持
    轻松创建和恢复所有或特定表的备份,您可以编写查询和 cron 作业,支持 S3 上的增量备份。
    用于日常备份和上传的简单 cron 脚本
     #!/bin/bash
    BACKUP_NAME=my_backup_$(date -u +%Y-%m-%dT%H-%M-%S)
    clickhouse-backup create $BACKUP_NAME
    clickhouse-backup upload $BACKUP_NAME
    方法 4
  • 数据目录的二进制副本。

    /var/lib/clickhouse/

  • 对于非复制表:
    停止服务器,rsync/scp/etc...它的数据目录,启动服务器。
    确保文件访问权限和所有权正确。

    关于database - Clickhouse:如何对已分区表和未分区表的 Clickhouse 数据库进行增量备份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57005443/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com