介绍
这些部署示例基于 ClickHouse 支持和服务组织向 ClickHouse 用户提供的建议。 这些都是有效的示例,我们建议您尝试它们,然后根据您的需求进行调整。 您可能会在这里找到完全符合您要求的示例。 或者,如果您有一个需求是数据复制三次而不是两次,您应该能够按照这里呈现的模式添加另一个副本。
Terminology
Replica
データのコピー。ClickHouse は常にデータのコピーを少なくとも 1 つ持っており、最小限の レプリカ の数は 1 つです。これは重要な詳細であり、データのオリジナルコピーをレプリカとしてカウントすることに慣れていないかもしれませんが、ClickHouse のコードとドキュメントで使用される用語です。データの 2 番目のレプリカを追加することにより、フォールトトレランスを提供します。
Shard
データのサブセット。ClickHouse は常にデータのためのシャードを少なくとも 1 つ持っているため、データを複数のサーバーに分割しない場合、データは 1 つのシャードに格納されます。データを複数のサーバーにシャーディングすることで、単一のサーバーの容量を超えた場合に負荷を分散させることができます。宛先サーバーは シャーディングキー によって決定され、分散テーブルを作成する際に定義されます。シャーディングキーはランダムであったり、ハッシュ関数 の出力として定義されることがあります。シャーディングに関する導入例では、rand()
をシャーディングキーとして使用し、異なるシャーディングキーを選択するタイミングと方法についてのさらなる情報を提供します。
Distributed coordination
ClickHouse Keeper はデータレプリケーションおよび分散DDLクエリ実行のためのコーディネーションシステムを提供します。ClickHouse Keeper は Apache ZooKeeper と互換性があります。
示例
基本
-
横向扩展 示例展示了如何在两个节点之间分片数据,并使用分布式表。 这将导致在两个 ClickHouse 节点上存储数据。 这两个 ClickHouse 节点还运行 ClickHouse Keeper 提供分布式同步。 第三个节点独立运行 ClickHouse Keeper 以完成 ClickHouse Keeper 的法定人数。
-
故障容错的复制 示例展示了如何在两个节点之间复制数据,并使用 ReplicatedMergeTree 表。 这将导致在两个 ClickHouse 节点上存储数据。 除了这两个 ClickHouse 服务器节点外,还有三个独立的 ClickHouse Keeper 节点来管理复制。
中级
- 敬请期待
高级
- 敬请期待