Odyssey vs TiCDC
Odyssey
pg-odyssey.techTiCDC
docs.pingcap.comSide by side
| Figure | Odyssey | TiCDC |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Database Proxy Software | 7.5 (#17) | 8.1 (#6) |
| Deployment | Odyssey can be installed from the PGDG repository, run from a public Docker image, or built locally. | TiCDC can be deployed with a new TiDB cluster or added to an existing cluster using TiUP. |
| Purpose | Odyssey is an advanced, multithreaded PostgreSQL connection pooler and request router. | TiCDC replicates incremental data from TiDB by capturing TiKV change logs, sorting the changes, and exporting row-based data to downstream systems. |
| Support | Users can report issues on the project page or ask usage and development questions in the Telegram community; the project says responses may not be quick. | PingCAP directs paid-plan users to support tickets and all users to community Slack support. |
Plans
In their own words
TiCDC
TiCDC is a free, open-source, self-hosted tool for replicating incremental data changes from TiDB. It captures TiKV change logs, sorts the changes, and exports row-based data to systems including TiDB, MySQL-compatible databases, Kafka, Amazon S3, GCS, Azure Blob Storage, and NFS. Recommended Kafka formats include Canal-JSON, Avro, and Debezium. Filters can select databases, tables, DMLs, and DDLs, while the Open API can check task status, change task configuration, and create or delete tasks. TiCDC supports replication between TiDB clusters for disaster recovery, with second-level RPO and minute-level RTO, as well as bidirectional replication for multi-active deployments. It can be deployed with a new cluster or added to an existing one; production guidance recommends at least two instances. The system has no single point of failure and allows nodes to be added or removed dynamically. Delivery is at least once, so failures can lead to repeated statements or Kafka messages.