简易教程:ClickHouse 的数据备份与恢复(二)

简介: 数据备份是IT运营中不可或缺的重要部分。在“大数据”部署(例如分析数据库)中,它们最具挑战性。本文将探讨备份ClickHouse所涉及的管道,并介绍用于自动化过程的Clickhouse备份工具。

恢复方案



复制失败

到目前为止,单个服务器或节点的故障是生产中最常见的灾难情况。在几乎所有情况下,都应替换发生故障的副本并重新创建架构。ClickHouse的本机复制将接管并确保替换服务器是一致的。此故障场景值得进行事先测试,以了解网络并计算重建新副本的影响。


碎片失败

在群集环境中,每个分片至少应备份一个副本。该clickhouse-backupAPI是在集群编排备份命名和执行一种方法。

如果一个分片中的所有副本都失败了,或更常见的是,数据已损坏,则必须如上所述从备份中还原整个分片。理想情况下,将备份还原到一个副本,将架构还原到其他副本,并允许ClickHouse的本机复制接管。


集群失败

完全故障的群集,无论是由于基础架构故障还是数据损坏,都可以通过与故障的碎片相同的方式进行恢复。必须通过上述过程恢复每个单独分片中的一个副本。


备用备份策略


具有文件系统快照的脱机副本

一种常见的替代方法是使用“脱机副本”进行备份。配置了副本(通常在另一个区域),该副本不作为任何分布式表的一部分用于查询。“离线副本”不打算进行任何合并,可以使用“ always_fetch_merged_part”和“ replica_can_become_leader” ClickHouse MergeTree设置来指定。虽然生产副本最好由ext4文件系统提供服务,但是备份副本使用ZFS(或支持快照的另一个文件系统)。这种方法提供了快速的恢复过程。请注意,在这种情况下,备份仍在服务器/节点本地,并且不一定提供足够的数据持久性。ZFS提供了对单个快照的基于目录的文件系统访问,因此可以将这些快照的存储自动化到远程系统或对象存储中。


带快照的存储即服务

云部署通常使用基于网络的块存储(例如AWS EBS或GCP永久磁盘)。为此,某些本地部署使用Ceph或OpenEBS。这些“存储即服务”技术均支持透明的卷快照。通过首先冻结表以进行备份,然后创建快照,您可以实现近乎即时的备份。

在内部,快照仅在磁盘上存储自上次快照以来已更改的块。这些系统虽然不是真正的“增量”备份,但可以高效利用磁盘空间。注意基于网络的块存储很少具有与本地磁盘一样的性能,并确保监视快照的保留和成本。


使用Kafka改善备份

到目前为止,我们已经讨论了按小时或每小时创建的特定时间点备份(例如)。一些组织要求能够恢复到任意时间点。由于ClickHouse没有本地二进制日志(例如Postgres WAL),因此自上次特定时间点备份以来,还需要某种其他机制来“重播”数据。

许多组织使用Kafka来满足此要求。通过Kafka将数据流传输到ClickHouse具有可用性和容错能力方面的许多优势。另一个优点是能够将摄取重置为Kafka分区中的任何偏移量。执行时间点备份时,必须存储Kafka偏移量。在恢复期间,ClickHouse Kafka Engine配置会在创建备份时设置为Kafka偏移量,并且将提取该时间点之后的数据。

存储Kafka偏移量的一种简单方法是将它们插入到备份中包含的ClickHouse中的表中。这可以在包装脚本中完成,该脚本暂停从Kafka的摄取,写入当前主题分区偏移量,开始备份,然后再次启用摄取。还原数据时,可以重置使用者组的偏移量,然后重新启用摄取。有关重置偏移量的示例,请参见此博客上的ClickHouse Kafka引擎教程


下一步

在深入研究并实施备份解决方案之前,请花点时间思考一下您的业务和最终用户的需求。充分了解环境的恢复时间目标(RTO)和恢复点目标(RPO)。然后,考虑上面概述的方法以确定最合适的方法。

ClickHouse的最大优势之一就是多元化和投资社区的支持和贡献。Clickhouse备份提供的自动化也不例外:非常感谢Alex Akulov!

Altinity,我们和您一样在乎您的数据。与我们联系以获取备份方面的帮助,或其他任何ClickHouse挑战!

相关文章
|
IDE Shell 开发工具
【沁恒WCH CH32V307V-R1在RT-Thread Studio上环境配置教程】
【沁恒WCH CH32V307V-R1在RT-Thread Studio上环境配置教程】
663 0
|
数据可视化 编译器 Shell
【沁恒WCH CH32V307V-R1在MounRiver Studio上环境配置教程】
【沁恒WCH CH32V307V-R1在MounRiver Studio上环境配置教程】
829 0
|
存储 SQL 大数据
简易教程:ClickHouse 的数据备份与恢复(一)
数据备份是IT运营中不可或缺的重要部分。在“大数据”部署(例如分析数据库)中,它们最具挑战性。本文将探讨备份ClickHouse所涉及的管道,并介绍用于自动化过程的Clickhouse备份工具。
6618 0
|
Ubuntu Linux 网络架构
史上最全面的Buffalo WHR-G300N CH v2 刷OpenWrt教程
Buffalo WHR-G300N CH v2 刷OpenWrt、有两种办法、一种是Windows下刷、一种是在linux下使用tftp刷、Buffalo WHR-G300N-CH v2的openwrt固件在这个地址下载: http://downloads.
4931 0
|
1月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
1月前
|
存储 分布式计算 数据库
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
阿里云国际版设置数据库云分析工作负载的 ClickHouse 版
|
2月前
|
存储 SQL 缓存
数据库测试|Elasticsearch和ClickHouse的对决
由于目前市场上主流的数据库有许多,这次我们选择其中一个比较典型的Elasticsearch来和ClickHouse做一次实战测试,让大家更直观地看到真实的比对数据,从而对这两个数据库有更深入的了解,也就能理解为什么我们会选择ClickHouse。
数据库测试|Elasticsearch和ClickHouse的对决
|
1月前
|
存储 关系型数据库 MySQL
四种数据库对比MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景
四种数据库对比 MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景
|
5月前
|
DataWorks API 调度
DataWorks产品使用合集之在调度配置配置了节点的上游节点输出,没办法自动生成这个flow的依赖,该怎么操作
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之建了 polar 与clickhouse的数据源。为什么数据库这里总是mysql呢
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。