バージョン 25.6 以降で利用可能このテーブルエンジンは、OSS と Cloud の両方でバージョン 25.6 以降から利用できます。
CoalescingMergeTree テーブルでは、ClickHouse は同じ主キー (より正確には同じソートキー) を持つすべての行を、各カラムの最新の非 NULL 値を含む 1 行に置き換えます。
これにより、カラム単位の upsert が可能になり、行全体ではなく特定のカラムだけを更新できます。
CoalescingMergeTree は、キーカラム以外で Nullable 型を使用することを前提としています。カラムが Nullable でない場合、動作は ReplacingMergeTree と同じです。
テーブルの作成
CoalescingMergeTree のパラメータ
カラム
columns - 任意。値を結合するカラム名のタプルです。指定するカラムは、パーティションまたはソートキーに含めることはできません。columns が指定されていない場合、ClickHouse はソートキーに含まれないすべてのカラムの値を結合します。
クエリ句
CoalescingMergeTree テーブルを作成する場合、MergeTree テーブルの作成時と同じ句が必要です。
使用例
FINAL 修飾子を使用すると、ClickHouse はクエリ時にマージロジックを適用し、各カラムについて正しく統合された”最新”の値を確実に取得できます。これは、CoalescingMergeTree テーブルにクエリを実行する際に、最も安全かつ正確な方法です。
GROUP BY を使う方法では、基盤となるパーツが完全にマージされていない場合、誤った結果が返されることがあります。