メインコンテンツへスキップ
メインコンテンツへスキップ

MergeTree エンジンファミリー

MergeTree ファミリーに属するテーブルエンジンは、ClickHouse のデータストレージ機能の中核となります。これらは、カラム型ストレージ、カスタムパーティショニング、疎なプライマリインデックス、セカンダリのデータスキップインデックスなど、耐障害性と高性能なデータ取得のためのほとんどの機能を提供します。

ベースとなる MergeTree テーブルエンジンは、単一ノードの ClickHouse インスタンスにおけるデフォルトのテーブルエンジンとみなすことができます。汎用性が高く、幅広いユースケースに対して実用的だからです。

本番環境での利用には ReplicatedMergeTree を使うのが一般的です。通常の MergeTree エンジンのすべての機能に高可用性が追加されるためです。さらに、データのインジェスト時に自動的な重複排除が行われるため、挿入中にネットワークの問題が発生しても、ソフトウェア側で安全にリトライできます。

MergeTree ファミリーのその他すべてのエンジンは、特定のユースケース向けに追加機能を提供します。通常、これはバックグラウンドでの追加のデータ操作として実装されます。

MergeTree エンジンの主な欠点は、比較的ヘビーウェイトであることです。そのため、典型的なパターンとしては、それほど多くのテーブルを作成しない構成になります。多くの小さなテーブル(たとえば一時データ用)が必要な場合は、Log エンジンファミリー の利用を検討してください。

PageDescription
MergeTree テーブルエンジンMergeTree ファミリーのテーブルエンジンは、高いデータ取り込みレートと大規模なデータ量に対応するよう設計されています。
Replicated* テーブルエンジンClickHouse における Replicated* ファミリーのテーブルエンジンを用いたデータレプリケーションの概要です。
カスタムパーティションキーMergeTree テーブルにカスタムパーティションキーを追加する方法を説明します。
ReplacingMergeTree テーブルエンジンMergeTree と異なり、同じソートキー値(ORDER BY 句で指定される列であり、PRIMARY KEY ではありません)を持つ重複したエントリを削除します。
CoalescingMergeTree テーブルエンジンCoalescingMergeTree は MergeTree エンジンを継承しています。主な特徴は、パーツのマージ時に各列の最後の非 NULL 値を自動的に保存できることです。
SummingMergeTree テーブルエンジンSummingMergeTree は MergeTree エンジンを継承しています。主な特徴は、パーツのマージ時に数値データを自動的に集計(合計)できることです。
AggregatingMergeTree テーブルエンジン同じプライマリキー(より正確には、同じ ソートキー)を持つすべての行を、集約関数の状態を組み合わせて保存した 1 行(単一のデータパーツ内)に置き換えます。
CollapsingMergeTree テーブルエンジンMergeTree を継承していますが、マージ処理中に行を折りたたむロジックが追加されています。
VersionedCollapsingMergeTree テーブルエンジン継続的に変化するオブジェクトの状態を高速に書き込み、古いオブジェクト状態をバックグラウンドで削除できるようにします。
GraphiteMergeTree テーブルエンジンGraphite データの間引きおよび集約・平均化(ロールアップ)のために設計されています。
Exact および Approximate Vector SearchExact および Approximate Vector Search についてのドキュメントです。
テキストインデックスを使用した全文検索テキスト内から検索語句を高速に見つけます。