# Change data capture

CDC ([change data capture](https://en.wikipedia.org/wiki/Change_data_capture)) is a process of tracking changes in a database and delivering them to consumers in near real-time. CDC can be used to:

* Create applications that respond to data changes in real time.
* Deliver data from a centralized storage to microservices.
* Collect and deliver data from a production environment to internal data stores for processing and analysis.

In Yandex Cloud, one way CDC can be implemented is with a transfer from the database to the message broker. All database updates are tracked by the transfer and sent to the message broker, and consumers are connected to the broker and read the incoming messages.

Data Transfer supports CDC for transfers from PostgreSQL, MySQL®, and YDB databases to Apache Kafka® and Yandex Data Streams^1^. Data is sent to the target in [Debezium](https://debezium.io/) format.

![image](../../_assets/data-transfer/concepts/cdc-flow.png)

{% note info %}

In YDB, CDC mode is supported starting from version 22.5.

{% endnote %}

_Greenplum® and Greenplum Database® are registered trademarks or trademarks of Broadcom Inc. in the United States and/or other countries._

^1^ This feature is at the Preview stage.
Implementation maturity may vary for different Yandex Data Transfer installation types. Transfers between a MongoDB source and an Apache Kafka® target are not supported yet. See the [list of available transfers](../transfer-matrix.md).

## Use cases {#examples}

* [MySQL® change data capture and delivery to Apache Kafka®](../tutorials/cdc-mmy.md)
* [PostgreSQL change data capture and delivery to Apache Kafka®](../tutorials/cdc-mpg.md)
* [YDB change data capture and delivery to Apache Kafka®](../tutorials/cdc-ydb.md)
* [YDB change data capture and delivery to YDS](../tutorials/ydb-to-yds.md)
* [PostgreSQL change data capture and delivery to Yandex Data Streams](../tutorials/mpg-to-yds.md)
* [MySQL® change data capture and delivery to YDS](../tutorials/mmy-to-yds.md)