https://docs.confluent.io/cloud/current/connectors/cc-mariadb-cdc-source-debezium.html
以下は、Confluent の公式ドキュメント「MariaDB CDC Source (Debezium) Connector for Confluent Cloud」に関するセクションを日本語に和訳し、Markdown形式で整理したまとめです。
Confluent Cloud が提供する完全管理型の MariaDB CDC(Change Data Capture)ソースコネクタ(Debezium ベース)は、MariaDB データベースから既存データのスナップショットを取得し、その後の行レベルの変更(INSERT、UPDATE、DELETE)をキャプチャして Kafka トピックにストリームとして記録します。出力形式としては AVRO、JSON Schema、PROTOBUF に対応しています。各テーブルごとに専用の Kafka トピックが生成されます。(docs.confluent.io)
- Kafka トピックの自動作成:
<topic.prefix>.<schemaName>.<tableName>
の形式で命名され、パーティション数は 1、レプリケーション係数は 3 になります。(docs.confluent.io) - データベース認証:パスワード認証方式を使用。
- SSL サポート:MariaDB サーバとの暗号化通信を構成可能。
- 監視対象の指定:デフォルトでは、すべてのデータベースと非システムテーブルの変更をキャプチャ。
- Tombstone イベント:削除時に tombstone メッセージを生成(デフォルト:true)。
- 出力フォーマット:値は AVRO、JSON_SR、PROTOBUF、キーは AVRO、JSON_SR、STRING、PROTOBUF に対応。スキーマ Registry が必要です。(docs.confluent.io)
- **クライアントサイドのフィールド暗号化(CSFLE)**にも対応。(docs.confluent.io)
- MariaDB バージョン 11.4.x に対応しています。(docs.confluent.io)
- コネクタ固有の制限や使用可能なシングルメッセージトランスフォーム(SMTs)、および Schema Registry 使用環境の制約については、それぞれ関連セクションを確認してください。(docs.confluent.io)
- Basic, Standard, Enterprise クラスター:最大 8 MB
- Dedicated クラスター:最大 20 MB(docs.confluent.io)
- 起動時にスナップショットの取得(
SELECT *
)を行います。 - スナップショット中に binlog に記録された変更を確実にキャプチャするため、MariaDB サーバのトランザクションログが保持されている必要があります(
expire_logs_days
の延長推奨)。(docs.confluent.io)
- Confluent Cloud の API を使って、コネクタのオフセットを取得・更新・削除することが可能です。(docs.confluent.io)
- GET リクエストで現在のオフセット状態を取得できます。
- PATCH リクエストで任意の位置(ファイル、ポジション)に更新可能。ただし binlog に存在する valid なオフセットのみ使用してください。任意の値を指定するとコネクタが例外で停止する恐れがあります。(docs.confluent.io)
- DELETE リクエストでオフセットをリセット(初期状態へ戻す)こともできます。(docs.confluent.io)
-
Confluent Cloud クラスター(AWS / Azure / GCP)へのアクセス権
-
Confluent CLI のインストール・設定
-
スキーマ Registry が有効(AVRO / JSON_SR / Protobuf 使用時)
-
データベースへのパブリックアクセス(必要に応じ)
-
MariaDB サーバの設定:
-
バックアップ有効化
-
パラメータグループで以下の設定:
binlog_format=ROW binlog_row_image=full
-
データベース再起動(docs.confluent.io)
-
-
Kafka クラスター作成(未作成の場合)。(docs.confluent.io)
-
Connectors メニューから +Add connector をクリック。
-
MariaDB CDC Source Connector を選択。
-
認証方式選択:
- Service account:本番推奨
- API Key:開発等で使用可能
-
MariaDB 接続設定:
- ホスト名、ポート、ユーザー名、パスワード
- SSL モード(
disable
またはtrust
)
-
出力フォーマット設定:Kafka レコードのキー/値形式を指定。
-
Topic prefix の設定:Kafka トピック命名の論理プレフィックス。
-
データベース/テーブルの include/exclude 正規表現指定
-
GTID include/exclude 正規表現で binlog ポジション制御。
-
Snapshot mode(例:
initial
,when_needed
,no_data
,recovery
等)を選択。(docs.confluent.io) -
Snapshot locking mode(
minimal
,extended
,none
等)も設定可能。(docs.confluent.io) -
その他:
- Schema context(スキーマ分離が必要な場合)
- Auto-restart の ON/OFF
- "After-state only"(後の状態のみ出力)や tombstone 設定
- Signal collection 設定(インクリメンタルスナップショット用)
- システムテーブルの無視フラグ
- Schema history トピック名指定 (docs.confluent.io)
機能カテゴリー | 内容 |
---|---|
基本機能 | MariaDB のデータ変更を Kafka トピックにストリーミング(AVRO/JSON_SR/PROTOBUF 出力) |
スナップショット戦略 | 初回データ取得や復旧のためのスナップショットモード(設定可能) |
セキュリティ/暗号化 | パスワード認証+SSL/CSFLE に対応 |
ネットワーク対応 | パブリック接続または事前設定されたプライベートネットワーク対応 |
オフセット管理 | API 経由で取得・パッチ・リセット可能。binlog 側オフセットの整合性に注意 |
自動トピック生成 | Topic prefix に基づくトピック自動生成(件名命名・パーティション・レプリケーション設定) |