dbmazz vs Maxwell's Daemon
dbmazz
github.comMaxwell's Daemon
maxwells-daemon.ioSide by side
| Figure | dbmazz | Maxwell's Daemon |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 1 |
| Spec score · Change Data Capture Software | 8.0 (#9) | 7.4 (#14) |
| Notable limitation | The README says each dbmazz instance handles one replication job. | With binlog_row_image=MINIMAL, UPDATE and DELETE output may be incomplete, and INSERT output omits column default values. |
| What it does | dbmazz is a Rust daemon that reads PostgreSQL changes through logical replication and streams inserts, updates, and deletes to a sink. | Maxwell reads MySQL binlogs and writes database changes as JSON to Kafka, Kinesis, and other streaming platforms. |
Plans
In their own words
dbmazz
dbmazz is a Rust daemon for moving database changes into a sink. It reads PostgreSQL changes through logical replication and streams inserts, updates, and deletes. The project lists PostgreSQL and MySQL as sources, and StarRocks, PostgreSQL, and Snowflake as stable sinks; S3/Iceberg is planned. Each instance handles one replication job. The project reports sub-second replication lag and about 11 MB of resident memory per daemon. Teams can try its ez-cdc CLI quickstart or run the daemon from the official Docker image. The CLI supports Linux and macOS on amd64 and arm64. Listed observability tools include Prometheus metrics, gRPC reflection, an HTTP control plane, and a live terminal dashboard. Automatic setup can create publications, replication slots, sink tables, and audit columns. Self-hosting is free; BYOC is also listed at free in a customer's AWS or GCP account, while support and optional PrivateLink cost extra. The Elastic License 2.0 permits commercial and non-commercial use but restricts offering the software to third parties as a managed service.
Maxwell's Daemon
Maxwell's Daemon is a free, open-source, self-hosted Linux tool for moving MySQL changes into streaming systems. It reads MySQL binary logs and emits database changes as JSON for Kafka, Kinesis, SQS, SNS, NATS, Google Cloud Pub/Sub, BigQuery, RabbitMQ, Redis, and other destinations. Listed uses include ETL, database change auditing, cache building or expiration, search indexing, and communication between services. Filtering can select databases, tables, and column values, while JavaScript filters handle custom row filtering and data changes. When encryption is enabled, messages use AES/CBC/PKCS5PADDING with a user-provided key and base64-encoded values. Metrics can be exposed through logging, JMX, HTTP, or Datadog; HTTP endpoints cover metrics, Prometheus, health checks, ping, and diagnostics. Maxwell supports schema evolution and an initial snapshot. Deployment options include command line, Docker, binary distribution, and Homebrew. Requirements include JRE 11 or later, supported MySQL versions from 5.1 through 8, and Kafka 0.8.2 or later when Kafka is used.