【问题标题】:Clickhouse: How to take incremental backup of Clickhouse db, for both partitoned and unpartitioned tables?Clickhouse:如何为分区表和未分区表进行 Clickhouse 数据库的增量备份?
【发布时间】:2019-11-22 03:09:27
【问题描述】:

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

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

【问题讨论】:

    标签: database clickhouse


    【解决方案1】:

    请先查看官网Official Doc's

    有多种方法可以进行备份。但他们都有自己的缺点。

    方法一

    转储数据的一般步骤:

    格式列表请参考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
    

    方法二

    • ALTER TABLE ... FREEZE PARTITION 命令似乎只是创建分区的本地快照

      ALTER TABLE ...冻结分区

    方法3

    这个工具是非常简单的 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
    

    方法四

    • 数据目录的二进制副本。

      /var/lib/clickhouse/

    对于非复制表: 停止服务器,rsync/scp/etc...它的数据目录,启动服务器。

    确保文件访问权限和所有权正确。

    【讨论】:

      【解决方案2】:

      https://github.com/AlexAkulov/clickhouse-backup

      通过 S3 和 GCS 支持轻松进行 ClickHouse 备份和恢复的工具。 也支持增量备份。

      【讨论】:

        【解决方案3】:

        有不同的选项可能具有不同的复杂性和权衡:

        1. 您可以拥有某种通用队列,例如 Kafka,数据来自 它被放置到 ClickHouse 以获取实时报告和一些 用于备份的不同“冷”存储(S3、HDFS 等)。
        2. 您可以像这里描述的那样备份单个分区 [链接]:https://clickhouse.yandex/docs/en/query_language/alter/#backups-and-replication
        3. 您可以拥有额外的 ClickHouse 副本,该副本具有非常大的 磁盘卷且不参与实时查询,则使用 ZFS 上面的快照。

        【讨论】:

          猜你喜欢
          • 2020-05-25
          • 2019-01-17
          • 2020-09-19
          • 2019-07-28
          • 2022-01-10
          • 1970-01-01
          • 2021-01-05
          • 2013-10-15
          • 2021-05-07
          相关资源
          最近更新 更多