跳到主要内容
跳到主要内容

简介

这些部署示例基于 ClickHouse 支持和服务组织向 ClickHouse 用户提供的建议。 这些是可行的示例,我们建议您尝试它们,然后根据您的需求进行调整。 您可能会在这里找到完全符合您要求的示例。 或者,如果您有数据需要复制三次而不是两次的要求,您应该能够按照此处介绍的模式添加另一个副本。

术语

副本

数据的副本。 ClickHouse 始终至少有一个数据副本,因此副本的最小数量为一个。 这是一个重要的细节,您可能不习惯将数据的原始副本算作副本,但这是 ClickHouse 代码和文档中使用的术语。 添加数据的第二个副本可提供容错能力。

分片

数据的子集。 ClickHouse 始终至少有一个数据分片,因此如果您不跨多个服务器拆分数据,则您的数据将存储在一个分片中。 如果您超出单个服务器的容量,则可以使用跨多个服务器对数据进行分片来分担负载。 目标服务器由分片键确定,并在您创建分布式表时定义。 分片键可以是随机的,也可以是哈希函数的输出。 涉及分片的部署示例将使用 rand() 作为分片键,并将提供有关何时以及如何选择不同分片键的更多信息。

分布式协调

ClickHouse Keeper 为数据复制和分布式 DDL 查询执行提供协调系统。 ClickHouse Keeper 与 Apache ZooKeeper 兼容。

示例

基本

  • 横向扩展示例展示了如何跨两个节点对数据进行分片,并使用分布式表。 这将导致数据分布在两个 ClickHouse 节点上。 这两个 ClickHouse 节点还运行 ClickHouse Keeper,提供分布式同步。 第三个节点独立运行 ClickHouse Keeper,以完成 ClickHouse Keeper 的仲裁。

  • 用于容错的复制示例展示了如何跨两个节点复制数据,并使用 ReplicatedMergeTree 表。 这将导致数据分布在两个 ClickHouse 节点上。 除了两个 ClickHouse 服务器节点外,还有三个独立的 ClickHouse Keeper 节点来管理复制。

中级

  • 即将推出

高级

  • 即将推出