CDC (Change Data Capture) について調べた
こんにちは、 @kz_morita です。
CDC (Change Data Capture) といわれる技術について調べたのでメモです。
CDC について CDC: Change Data Caputure は Database などのデータの変更を追跡して、他のシステムやサービスに対して通知したりデータを流したりする仕組みの総称です。
たとえば、RDB の変更されたデータを Stream キュー などに流して後続の処理を実行するといった使い方ができます。 データベース以降の処理をイベント駆動のアーキテクチャにすることができるため、Stream 処理パイプラインなどとの親和性が高いように思います。
また、データのレプリケーションなども用途の一つにはいるかと思います。
たとえば、AWS の RDS から別のデータソースにリアルタイムでデータをレプリケーションしたいといったケースにも使用できそうです。
参考 変更データキャプチャとは Change Data Capture とは? 実現するための技術 CDC を実現するための技術としていくつかあります。
debezium debezium は、Java 性の OSS の CDC を実現するための技術です。
基本的に、Kafka というストリーム処理プラットフォームのコネクター (Kafka Connect) として実装されているため、DB から Kafka Stream のキューに流すといったユースケースでは使えそうです。
また、以下の記事で紹介されているように Embedded といわれる仕組みを使うと任意の Java コードを埋め込めるため、たとえば Amazon Kinesis にデータを流すなどある程度自由な事ができそうです。