ClickHouse/docs/ja/engines/table-engines/mergetree-family/replacingmergetree.md

3.0 KiB

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 33 置換マージツリー

置換マージツリー

エンジンは メルゲツリー 同じ主キー値を持つ重複したエントリを削除するという点で、より正確には同じです ソートキー 値)。

データ重複除外は、マージ中にのみ発生します。 マージは未知の時間にバックグラウンドで発生するため、計画することはできません。 一部のデータは未処理のままになる場合があります。 スケジュールされていないマージを実行するには OPTIMIZE クエリは、それを使用してカウントされませんので、 OPTIMIZE クエリは大量のデータを読み書きします。

従って, ReplacingMergeTree に適した清算出重複データを背景に保存するための空間が保証するものではありませんが重複している。

テーブルの作成

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE = ReplacingMergeTree([ver])
[PARTITION BY expr]
[ORDER BY expr]
[PRIMARY KEY expr]
[SAMPLE BY expr]
[SETTINGS name=value, ...]

説明リクエストパラメータの参照 要求の説明.

ReplacingMergeTreeパラメータ

  • ver — column with version. Type UInt*, Date または DateTime. 任意パラメータ。

    マージ時, ReplacingMergeTree 同じ主キーを持つすべての行から、一つだけを残します:

    • 選択範囲の最後にある場合 ver 設定されていません。
    • 最大バージョンでは、次の場合 ver 指定。

クエリ句

を作成するとき ReplacingMergeTree 同じテーブル を作成するときのように必要です。 MergeTree テーブル。

推奨されていません法テーブルを作成する

!!! attention "注意" 可能であれば、古いプロジェクトを上記の方法に切り替えてください。

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE [=] ReplacingMergeTree(date-column [, sampling_expression], (primary, key), index_granularity, [ver])

以下を除くすべてのパラメータ ver と同じ意味を持つ MergeTree.

  • ver -バージョンの列。 任意パラメータ。 説明は、上記のテキストを参照してください。

元の記事