2.2. Kafka トピック作成に関する推奨事項
Debezium は、データの保存に複数の Kafka トピックを使用します。トピックは、管理者が作成するか、ブローカー設定プロパティー auto.create.topics.enable
を使用してトピックの自動作成を有効にし、Kafka 自身が作成する必要があります。
以下のリストで、トピックの作成時に考慮すべき制限および推奨事項を説明します。
- MySQL、SQL Server、および Db2 コネクターのデータベース履歴トピック
- 無限または非常に長期の保持期間
- 3 以上の実稼働でのレプリケーション係数
- 単一パーティション
- その他のトピック
-
特定のレコードの 最後の 変更イベントのみを保持するために Kafka ログの圧縮 が有効になっている場合は、Apache Kafka で
min.compaction.lag.ms
およびdelete.retention.ms
トピックレベルの設定を設定します。コンシューマーがすべてのイベントを受信し、マーカーを削除するために十分な時間を確保する必要があります。よって、シンクコネクターで予想される最大ダウンタイムよりも大きな値を設定します。たとえば、コネクター更新時のダウンタイムを考慮します。 - 実稼働でレプリケートされます。
単一パーティション。
単一パーティションルールを緩和できますが、アプリケーションはデータベースの異なる行に対して順不同のイベントを処理する必要があります。単一行のイベントは、引き続き完全に順序付けされます。複数のパーティションを使用する場合、Kafka がキーをハッシュ化してパーティションを決定するのがデフォルトの動作になります。その他のパーティションストラテジーでは、SMT (Simple Message Transform、シンプルメッセージ変換) を使用して各レコードにパーティション番号を設定する必要があります。
-
特定のレコードの 最後の 変更イベントのみを保持するために Kafka ログの圧縮 が有効になっている場合は、Apache Kafka で