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