Skip to content

docs(design): Debezium-compete CDC parity roadmap#2643

Merged
devarismeroxa merged 3 commits into
mainfrom
docs/debezium-compete-roadmap
Jul 23, 2026
Merged

docs(design): Debezium-compete CDC parity roadmap#2643
devarismeroxa merged 3 commits into
mainfrom
docs/debezium-compete-roadmap

Conversation

@devarismeroxa

Copy link
Copy Markdown
Contributor

Tier 3 (design doc). Not for immediate merge — opened for DeVaris review/edit.

What this is

A sequenced Debezium-compete epic (DBZ-0..10), placed into the existing roadmap phases rather than standing apart. Grounded in a verified per-connector CDC-mechanism audit (2026-07-22) — reading each connector's actual mechanism, not its description.

The honest picture it's built on

  • Coverage ~parity: Conduit has connectors for 9+ of Debezium's ~10 databases (core + conduitio-labs).
  • Mechanism partial: log-based (Debezium-class) on Postgres / MySQL / Mongo / Vitess; trigger/polling-based on Oracle / SQL Server / Db2; Spanner CDC "planned", Cassandra sink-only.
  • Depth + maturity NOT at parity: no schema/DDL evolution anywhere, no incremental snapshots / heartbeats / txn-metadata / outbox; most log-based labs connectors are v0.1–v0.2.

The plan

Two parallel tracks, gated by a CDC correctness suite:

  • Track A — KC-wrapper (fast credibility): run Debezium connectors inside Conduit → instant Oracle/SQL Server/Db2 log-based CDC, minus the JVM/Kafka-Connect cluster. Framed as a migration bridge, not the end state. Doubles as the Phase-2 KC-migration story.
  • Track B — native log-based depth (the moat): harden Postgres/MySQL/Mongo, build universal CDC capabilities into the SDK, replace trigger-based connectors natively over time.

Critical path to credible messaging: DBZ-0 (honest vs Debezium page) → DBZ-1 (KC-wrapper PoC) → DBZ-2 (correctness suite) → DBZ-3 (Postgres to real parity).

Placement

Full sequencing table maps each workstream to a Phase 1/2/3 slot with dependencies. Includes a proposed Phase-2 CDC section re-scope for ROADMAP.md (to apply once the roadmap-reconciliation PR #2638 settles, to avoid a conflicting edit).

Review asks: is the Track-A-vs-B sequencing right for the near-term credibility goal, and is the proposed ROADMAP delta the shape you want before I touch ROADMAP.md?

🤖 Generated with Claude Code

Sequences a Debezium-compete epic (DBZ-0..10) into the existing roadmap phases.
Grounded in a verified per-connector CDC-mechanism audit (2026-07-22): log-based
parity on Postgres/MySQL/Mongo/Vitess, trigger-based on Oracle/SQL Server/Db2,
Spanner/Cassandra CDC missing. Two tracks — KC-wrapper coverage (fast credibility)
and native log-based depth (the moat) — gated by a CDC correctness suite. Includes
a proposed Phase-2 CDC section re-scope.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@devarismeroxa
devarismeroxa requested a review from a team as a code owner July 22, 2026 06:59
devarismeroxa and others added 2 commits July 22, 2026 03:35
… reality, sequencing, UX)

Four independent reviews (2 technical, 2 sequencing/UX) found the doc treated the
Kafka Connect wrapper as greenfield when conduit-kafka-connect-wrapper already
exists and passes DebeziumPgSourceIT in CI. This revision:

- Rewrites Track A / DBZ-1 / DBZ-7 around validating and extending the existing
  wrapper instead of building one; retracts the earlier "async OffsetBackingStore
  trap" claim (offset/ack ordering is actually correct); names the strategic
  inversion that the wrapper only proves Postgres (least-needed) while
  MySQL/Oracle/SQL Server/Db2 need an unwired schema-history store.
- Flips the DBZ-3/DBZ-4/DBZ-5 dependency inversion so the flagship (Postgres)
  and second implementation (MySQL/Mongo) land before shared SDK plumbing is
  extracted, and makes the critical-path sentence agree with the dependency table.
- Tightens DBZ-2 to SIGKILL-explicit crash tests covering the wrapper's ack/offset
  path plus an invariant-6 DDL-mid-stream check.
- Adds an Operator UX and observability section (API surface, CLI parity, DLQ
  Tier-1 gap inheritance, runbook stub) and smaller fixes (JVM failure-mode
  reframe, embeddability positioning note, tx-metadata honesty, Track-A
  Phase-3 checkpoint, SQL Server README mislabel).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Restate the embeddability differentiator as a settled vs-Debezium comparison
claim rather than an open question: it names Debezium Server and Debezium
Engine directly, and grounds "already shipped" accurately (conduit run ships
the standalone binary today; libconduit is the embedding path, Go embedding
working today with the stable API as its embed-v1 productization).

DBZ-1: the doc makes no "a few instructions" crash-window claim to correct,
so DBZ-1's detailed kill -9 crash-safety test is left to its own later PR.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015GQFzakPShAYj8CcwajYDD
@devarismeroxa
devarismeroxa merged commit 97cd361 into main Jul 23, 2026
6 checks passed
@devarismeroxa
devarismeroxa deleted the docs/debezium-compete-roadmap branch July 23, 2026 18:45
devarismeroxa added a commit to ConduitIO/conduit-site that referenced this pull request Jul 24, 2026
Publishes the CDC coverage/mechanism/maturity audit from the internal
Debezium-compete roadmap (ConduitIO/conduit#2643) as a public, honest
comparison page: leads with embeddability (conduit run + the new
libconduit B1 Go embedding API subsume Debezium Server/Engine's
standalone-process use case, with the scope caveat locked in prose), an
accessible <table> matrix (caption + th scope, icon+text status, never
color alone), a "Choose Debezium if..." section at equal visual weight
to the parity claims, and a KC-wrapper honesty split (Debezium-Postgres
is CI-tested via DebeziumPgSourceIT; MySQL/Oracle/SQL Server/Db2 via the
wrapper are unwired, scoped future work). Crash-safety is explicitly not
claimed yet — links to issue #2672 and the roadmap doc as a
verification-in-progress placeholder, pending DBZ-1.

Every factual claim links to connector source/README or a named CI job,
not to the internal roadmap doc.


Claude-Session: https://claude.ai/code/session_015GQFzakPShAYj8CcwajYDD

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant