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

介绍

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

术语

副本

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

分片

数据的子集。 ClickHouse 始终至少为您的数据保留一个分片,因此如果您不将数据划分到多个服务器上,您的数据将存储在一个分片中。在多个服务器上分片数据可以用于分担负载,如果您超出了单个服务器的容量。目标服务器由 sharding key 决定,并在您创建分布式表时定义。分片键可以是随机的或作为 哈希函数 的输出。涉及分片的部署示例将使用 rand() 作为分片键,并将提供关于何时以及如何选择不同分片键的进一步信息。

分布式协调

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

示例

基本

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

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

中级

  • 敬请期待

高级

  • 敬请期待