About this project
The **siddhi-io-cdc extension** is an extension to Siddhi that captures change data from databases such as MySQL, MS SQL, PostgreSQL, H2 and Oracle. It provides a `cdc` source that receives events when change events (INSERT, UPDATE, DELETE) are triggered for a database table, in key-value format.
**Modes:**
- **Listening mode:** The source listens to the database's change log and notifies immediately on changes. Supported for MySQL, PostgreSQL, and SQL Server. For Oracle, additional setup with Oracle Instant Client is required.
- **Polling mode:** The datasource is periodically polled for changes; only INSERT and UPDATE changes can be captured. Requires a polling column (auto-increment or timestamp).
**Configuration:**
- Connection details (url, username, password, driverClassName) can be provided in `deployment.yaml` under the Siddhi namespace.
- For PostgreSQL listening mode, configure `slot.name` (default: debezium), `plugin.name` (e.g., decoderbufs, pgoutput, wal2json), and `table.name` as `<schema>.<table>`.
**Dependencies:**
- JDBC connector jar must be added to the runtime, based on the database type (refer to Debezium documentation).
- Database-specific setup is required for listening mode (e.g., MySQL, PostgreSQL, SQL Server).
**Installation:**
- Follow Siddhi documentation for adding extensions to various execution environments.
**Testing:**
- Integration tests can be run in Docker containers for H2, MySQL 5.7, PostgreSQL 9.6, MSSQL, and Oracle 11.2.0.2-xe using Maven profiles.
**Support:**
- Questions via StackOverflow with `siddhi` tag; issues on GitHub; community info on Siddhi website.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.