メインコンテンツまでスキップ
メインコンテンツまでスキップ

テーブルシャードとレプリカ


注記

このトピックは ClickHouse Cloud には適用されず、Parallel Replicas は従来の共有何も持たない ClickHouse クラスターにおける複数のシャードのように機能し、オブジェクトストレージは置き換えます レプリカを確保し、高い可用性と障害耐性を実現します。

ClickHouseにおけるテーブルシャードとは何ですか?

従来の共有何も持たない ClickHouse クラスターでは、シャーディングは ① データが単一サーバーには大きすぎる、または ② 単一サーバーがデータの処理には遅すぎる場合に使用されます。次の図はケース ①を示しており、uk_price_paid_simple テーブルが単一マシンの容量を超えています:


このような場合、データはテーブルシャードの形式で複数の ClickHouse サーバーに分割できます:


各シャードはデータのサブセットを保持し、独立してクエリできる通常の ClickHouse テーブルとして機能します。ただし、クエリはそのサブセットのみを処理し、データの分布によっては有効なユースケースとなることがあります。通常、分散テーブル(しばしばサーバーごとに)は、全データセットの統一されたビューを提供します。データ自体は保存しませんが、SELECT クエリをすべてのシャードに転送し、結果を組み合わせ、INSERT をルーティングしてデータを均等に分配します。

分散テーブルの作成

SELECT クエリの転送と INSERT ルーティングを示すために、2つの ClickHouse サーバーに分割された What are table parts の例テーブルを考えます。まず、この設定に対応する Distributed table を作成するための DDL ステートメントを示します: