awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Change Data Capture Tools

Ranking updated Jun 30, 2026

For stream changes out of my database, the first results are alibaba/canal (Canal is a mature change data capture tool that monitors database transaction logs to stream row-level changes in real time to downstream systems, fitting the need for replication and event streaming with high throughput and reliable delivery), debezium/debezium and apache/flink-cdc (Apache Flink CDC is a distributed streaming framework that captures row-level database changes in real time from logs, supports multiple databases, automates schema evolution, and ensures exactly-once delivery, making it a comprehensive answer to this search). go-mysql-org/go-mysql and rethinkdb/rethinkdb round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Open-source software for streaming row-level database modifications to downstream systems in real time.

Change Data Capture Tools

Find the best repos with AI.We'll search the best matching repositories with AI.
  • alibaba/canalalibaba avatar

    alibaba/canal

    29,697View on GitHub↗

    Canal is a database replication middleware that performs change data capture by simulating a database replica. It monitors transaction logs to stream incremental data modifications to downstream systems in real time, acting as an event streaming infrastructure that transforms low-level binary logs into structured, consumable message streams. The project distinguishes itself through a high-throughput architecture that utilizes concurrent multi-threaded parsing and stateful log position tracking to ensure reliable data delivery. It employs a pluggable sink architecture that decouples data extra

    Canal is a mature change data capture tool that monitors database transaction logs to stream row-level changes in real time to downstream systems, fitting the need for replication and event streaming with high throughput and reliable delivery.

    JavaBinary Log Streaming ToolsChange Data Capture ServicesEvent Streaming Pipelines
    View on GitHub↗29,697
  • debezium/debeziumdebezium avatar

    debezium/debezium

    12,421View on GitHub↗

    Debezium is a distributed change data capture platform that streams row-level database modifications as real-time events. By parsing database transaction logs, the system broadcasts structural and data changes to message brokers, enabling reactive processing and data integration across distributed architectures. The platform utilizes log-based capture to extract modifications directly from transaction logs, ensuring minimal impact on source system performance while maintaining the original commit order of operations. It employs database-specific connector adapters to translate proprietary bin

    Debezium is a distributed change data capture platform that streams row-level database changes in real time by parsing transaction logs, natively integrates with Apache Kafka for fault-tolerant delivery, supports multiple databases via connectors, and handles schema evolution—exactly the CDC tool this search describes.

    JavaChange Data Capture StreamsChange Data CaptureEvent Streaming Infrastructure
    View on GitHub↗12,421
  • apache/flink-cdcapache avatar

    apache/flink-cdc

    6,430View on GitHub↗

    This project is a streaming data integration framework that captures real-time database changes and synchronizes them with downstream systems. It operates as a distributed streaming ETL and database synchronizer, reading database logs and snapshots to propagate row-level modifications to target sinks. The system supports declarative data integration, allowing users to define source-to-sink data flows using SQL or YAML configurations. It distinguishes itself by automating schema evolution to maintain synchronization when source structures change and ensuring exactly-once delivery and processin

    Apache Flink CDC is a distributed streaming framework that captures row-level database changes in real time from logs, supports multiple databases, automates schema evolution, and ensures exactly-once delivery, making it a comprehensive answer to this search.

    JavaExactly-Once Processing GuaranteesExactly-Once Processing SemanticsChange Data Capture
    View on GitHub↗6,430
  • go-mysql-org/go-mysqlgo-mysql-org avatar

    go-mysql-org/go-mysql

    4,954View on GitHub↗

    go-mysql is a toolkit for MySQL database integration, providing a native client driver and the capabilities to implement custom MySQL-compatible servers or proxies. It enables applications to communicate with MySQL servers through standard SQL interface patterns. The project provides specialized support for real-time data synchronization by streaming binary log events. This allows database changes to be captured and pushed into external data stores, search engines, or caches to maintain consistency. The library includes tools for memory-efficient large dataset processing, utilizing query res

    go-mysql is a Go toolkit that captures MySQL row-level changes in real time by streaming binary log events, making it a focused CDC solution for MySQL—though it only supports one database and lacks built-in schema-evolution or exactly-once delivery.

    GoBinlog Event StreamsBinlog-Based Replication Management
    View on GitHub↗4,954
  • rethinkdb/rethinkdbrethinkdb avatar

    rethinkdb/rethinkdb

    26,996View on GitHub↗

    RethinkDB is a distributed, document-oriented database designed to store and manage JSON-formatted data across scalable clusters. It utilizes a custom log-structured storage engine with B-Tree indexing to ensure high-performance disk I/O and data persistence. The system maintains high availability through automatic sharding and replication, employing a primary-replica voting consensus mechanism to handle node failures and ensure consistent cluster operations. A defining characteristic of the platform is its reactive changefeed engine, which allows applications to subscribe to live data update

    RethinkDB has a built-in reactive changefeed engine that streams row-level insert/update/delete events in real time, so it is a genuine CDC tool for its own database, but it cannot capture changes from other databases, which limits its fit for multi-database replication needs.

    C++Change Data Capture StreamsMessage Broker ProducersChange Data Capture
    View on GitHub↗26,996
  • benthosdev/benthosbenthosdev avatar

    benthosdev/benthos

    8,681View on GitHub↗

    Benthos is a stream processing engine and data integration pipeline used for routing, transforming, and connecting data streams between diverse sources and sinks. It functions as event routing middleware and a change data capture tool, streaming real-time database modifications as discrete events for downstream processing. The system utilizes a declarative pipeline configuration, where data flow and processing logic are defined in a single static file. It features a specialized domain-specific language for mapping, filtering, and enriching data payloads, allowing for complex transformations w

    Benthos is a stream processing engine that explicitly positions itself as a change data capture tool, capturing row-level database modifications in real time and routing them to diverse sinks, which matches the core requirement; it supports real-time streaming and multiple sources/sinks but may not include built-in schema evolution handling or exactly-once delivery out of the box.

    GoChange Data CaptureMessage Delivery Guarantees
    View on GitHub↗8,681
  • jeffail/benthosJeffail avatar

    Jeffail/benthos

    8,681View on GitHub↗

    Benthos is a declarative stream processor and data integration pipeline used to route, transform, and filter information between disparate services. It functions as an at-least-once message broker and change data capture engine, using a transaction model to guarantee message delivery despite system crashes or server faults. The system is defined by an observability-first approach, featuring built-in HTTP health probes, performance metrics export, and distributed request flow tracing. It utilizes a plugin architecture that allows the core engine to be extended with custom binaries for new inpu

    Benthos is a declarative stream processor that explicitly functions as a change data capture engine, providing real-time streaming, at-least-once delivery, and plugin-based support for multiple database inputs and outputs, which directly aligns with the need for capturing row-level database changes for replication or event streaming.

    GoChange Data Capture
    View on GitHub↗8,681
  • siddontang/go-mysqlsiddontang avatar

    siddontang/go-mysql

    4,953View on GitHub↗

    go-mysql is a toolkit for the Go programming language designed for implementing MySQL protocol handlers, binary log replication systems, mock servers, and schema parsing utilities. It provides the necessary libraries to interact with MySQL servers through native network protocols and binary log streams. The project enables the creation of custom database proxies or mock servers by parsing and decoding low-level network packets. It also includes a replication tool for streaming and processing binary logs to synchronize data across different storage systems, alongside a schema parser for extrac

    go-mysql is a Go library for working with MySQL binary logs and replication, providing the building blocks for change data capture rather than a ready-to-use CDC tool, and it only supports MySQL.

    GoBinary Log Streaming ToolsBinlog Event StreamsBinlog-Based Replication Management
    View on GitHub↗4,953
  • airbytehq/airbyteairbytehq avatar

    airbytehq/airbyte

    21,472View on GitHub↗

    Airbyte is a data integration platform designed to synchronize information between diverse applications, databases, and data warehouses. It functions as an extract, transform, and load orchestrator that manages automated data movement workflows across cloud, on-premise, and hybrid environments. The platform provides a standardized interface for connectors, enabling the movement of structured and unstructured data while maintaining stateful checkpoints for reliable incremental syncing. The platform distinguishes itself through a containerized architecture that isolates connectors to prevent de

    Airbyte is a data integration platform that includes change data capture as one of its sync mechanisms, but its primary identity is an ELT orchestrator rather than a dedicated real-time log-based CDC tool focused solely on row-level database change streaming.

    PythonChange Data Capture ServicesChange Data Capture
    View on GitHub↗21,472
  • nathanmarz/stormnathanmarz avatar

    nathanmarz/storm

    8,772View on GitHub↗

    Storm is a distributed stream processing framework and fault-tolerant compute engine designed for executing real-time continuous computations across a cluster of machines. It functions as a stateful stream processor and cluster topology manager, enabling the deployment and monitoring of distributed data flow configurations. The system ensures exactly-once semantics by utilizing transactional state management to guarantee that every message in a data stream is processed exactly one time. It further operates as a distributed RPC system, allowing for the integration of non-native languages throu

    Apache Storm is a distributed stream processing framework rather than a change data capture tool—it lacks native log-based capture of database row changes, which is the core feature you need.

    JavaExactly-Once Processing GuaranteesExactly-Once Processing Semantics
    View on GitHub↗8,772
  • github/gh-ostgithub avatar

    github/gh-ost

    13,409View on GitHub↗

    gh-ost is a triggerless online schema migration tool for MySQL. It functions as a replication client and table management utility that synchronizes data from a source table to a shadow table using binary logs, allowing for table structure modifications without locking original tables or causing downtime. The tool distinguishes itself by using binary-log-based replication instead of triggers to stream row-based events to a shadow table. It implements load-aware throttling and dynamic performance tuning to adjust migration speed based on server load and replication lag. Users can monitor and ad

    gh-ost uses binary logs to capture row-level changes in MySQL, but it is a schema migration tool, not a general-purpose CDC tool for real-time streaming or replication to message queues.

    GoBinary Log Streaming ToolsBinlog-Based Replication Management
    View on GitHub↗13,409
  • supabase/supabasesupabase avatar

    supabase/supabase

    104,317View on GitHub↗

    This project provides an integrated backend platform built around a relational database. It automatically generates REST and GraphQL APIs from database schemas, allowing for direct data interaction through standard requests and client libraries. The platform includes a comprehensive authentication system that manages user identity, session handling, and fine-grained access control through database-native row-level security policies. Beyond core data management, the platform offers specialized services for object storage, vector data processing for semantic search, and real-time communication

    Supabase includes a real-time streaming service built on PostgreSQL logical replication that can capture row-level changes, but it is primarily a backend platform rather than a dedicated CDC tool, and it only supports Postgres without configurable output to message queues or explicit fault-tolerance guarantees.

    TypeScriptChange Data Capture Streams
    View on GitHub↗104,317
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
alibaba/canal29.7KJavaApache-2.0Jun 4, 2026
debezium/debezium12.4KJavaapache-2.0Feb 20, 2026
apache/flink-cdc6.4KJavaApache-2.0Jun 16, 2026
go-mysql-org/go-mysql5KGoMITJun 15, 2026
rethinkdb/rethinkdb27KC++NOASSERTIONMar 28, 2026
benthosdev/benthos8.7KGo—Jun 16, 2026
jeffail/benthos8.7KGo—Jun 17, 2026
siddontang/go-mysql5KGoMITJun 15, 2026
airbytehq/airbyte21.5KPythonNOASSERTIONJun 16, 2026
nathanmarz/storm8.8KJavaApache-2.0Aug 16, 2017

Related searches

  • Streaming, queues and change data capture
  • real-time replication between databases
  • an engine to process streaming data
  • a tool to version my database schema
  • a declarative database schema tool
  • a relational database management system for data
  • a spreadsheet view over my database
  • Git-style branching for my database