📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

変更フィードログフィルター



TiCDCは、テーブルとイベントによるデータのフィルタリングをサポートしています。このドキュメントでは、2種類のフィルターの使い方を紹介します。

テーブルフィルター

テーブルフィルターは、次の構成を指定して、特定のデータベースとテーブルを保持または除外できる機能です。

[filter] # Filter rules rules = ['*.*', '!test.*']

一般的なフィルタールール:

  • rules = ['*.*']
    • すべてのテーブルを複製します(システムテーブルは含みません)
  • rules = ['test1.*']
    • test1データベース内のすべてのテーブルを複製する
  • rules = ['*.*', '!scm1.tbl2']
    • scm1.tbl2テーブルを除くすべてのテーブルを複製します
  • rules = ['scm1.tbl2', 'scm1.tbl3']
    • テーブルscm1.tbl2とscm1.tbl3のみを複製する
  • rules = ['scm1.tidb_*']
    • scm1データベース内の、名前がtidb_で始まるすべてのテーブルを複製します。

詳細についてはテーブルフィルタ構文を参照してください。

イベントフィルタールール

TiCDC v6.2.0以降では、イベントフィルターがサポートされています。イベントフィルタールールを設定することで、指定した条件を満たすDMLイベントとDDLイベントを除外できます。

以下はイベントフィルタルールの例です。

[filter] # The event filter rules must be under the `[filter]` configuration. You can configure multiple event filters at the same time. [[filter.event-filters]] matcher = ["test.worker"] # matcher is an allow list, which means this rule only applies to the worker table in the test database. ignore-event = ["insert"] # Ignore insert events. ignore-sql = ["^drop", "add column"] # Ignore DDLs that start with "drop" or contain "add column". ignore-delete-value-expr = "name = 'john'" # Ignore delete DMLs that contain the condition "name = 'john'". ignore-insert-value-expr = "id >= 100" # Ignore insert DMLs that contain the condition "id >= 100". ignore-update-old-value-expr = "age < 18 or name = 'lili'" # Ignore update DMLs whose old value contains "age < 18" or "name = 'lili'". ignore-update-new-value-expr = "gender = 'male' and age > 18" # Ignore update DMLs whose new value contains "gender = 'male'" and "age > 18".

設定パラメータの説明:

  • matcher : このイベントフィルタルールが適用されるデータベースとテーブル。構文はテーブルフィルターと同じです。

  • ignore-event : 無視するイベントの種類。このパラメータは文字列の配列を受け入れます。複数のイベントの種類を設定できます。現在、以下のイベントの種類がサポートされています。

    イベントタイプエイリアス説明
    all dmlすべてのDMLイベントに一致します
    all ddlすべてのDDLイベントに一致します
    insertDMLinsert DML イベントに一致
    updateDMLupdate DML イベントに一致
    deleteDMLdelete DML イベントに一致
    create schemaDDLcreate databasecreate databaseイベントに一致
    drop schemaDDLdrop databasedrop databaseイベントに一致
    create tableDDLcreate tableイベントに一致
    drop tableDDLdrop tableイベントに一致
    rename tableDDLrename tableイベントに一致
    truncate tableDDLtruncate tableイベントに一致
    alter tableDDLalter table、create index、drop index のすべての句を含む alter table イベントに一致します
    add table partitionDDLadd table partitionイベントに一致
    drop table partitionDDLdrop table partitionイベントに一致
    truncate table partitionDDLtruncate table partitionイベントに一致
    create viewDDLcreate viewイベントに一致
    drop viewDDLdrop viewイベントに一致
    modify schema charset and collateDDLmodify schema charset and collateイベントに一致
    recover tableDDLrecover tableイベントに一致
    rebase auto idDDLrebase auto idイベントに一致
    modify table commentDDLmodify table commentイベントに一致
    modify table charset and collateDDLmodify table charset and collateイベントに一致
    exchange table partitionDDLexchange table partitionイベントに一致
    reorganize table partitionDDLreorganize table partitionイベントに一致
    alter table partitioningDDLalter table partitioningイベントに一致
    remove table partitioningDDLremove table partitioningイベントに一致
    add columnDDLadd columnイベントに一致
    drop columnDDLdrop columnイベントに一致
    modify columnDDLmodify columnイベントに一致
    set default valueDDLset default valueイベントに一致
    add primary keyDDLadd primary keyイベントに一致
    drop primary keyDDLdrop primary keyイベントに一致
    rename indexDDLrename indexイベントに一致
    alter index visibilityDDLalter index visibilityイベントに一致
    alter ttl infoDDLalter ttl infoイベントに一致
    alter ttl removeDDLテーブルのすべてのTTL属性を削除するDDLイベントに一致します
    multi schema changeDDL同じDDL文内でテーブルの複数の属性を変更するDDLイベントに一致します。
  • ignore-sql : フィルタリングするDDL文の正規表現。このパラメータは文字列の配列を受け付け、複数の正規表現を設定できます。この設定はDDLイベントにのみ適用されます。

  • ignore-delete-value-expr : このパラメータは、指定された値を持つDELETE種類の DML イベントをフィルタリングするために使用される、デフォルトの SQL モードに従う SQL 式を受け入れます。

  • ignore-insert-value-expr : このパラメータは、指定された値を持つINSERT種類の DML イベントをフィルタリングするために使用される、デフォルトの SQL モードに従う SQL 式を受け入れます。

  • ignore-update-old-value-expr : このパラメータは、デフォルトの SQL モードに従う SQL 式を受け入れ、指定された古い値を持つUPDATE種類の DML イベントを除外するために使用されます。

  • ignore-update-new-value-expr : このパラメータは、デフォルトの SQL モードに従う SQL 式を受け入れ、指定された新しい値を持つUPDATE DML イベントを除外するために使用されます。

このページは役に立ちましたか?