Add YDB sink (debezium-server-ydb)
- Dominant language
- HTML
- Stars
- 6
- Forks
- 8
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 1
Description
## Feature request or enhancement
_For feature requests or enhancements, please provide the following information:_
**Which use case/requirement will be addressed by the proposed feature?**
` Debezium Server has no sink for https://ydb.tech — an open-source distributed SQL database with a Kafka-compatible Topics API. Today users who want CDC into YDB must either bridge through Kafka or hand-roll an embedded-engine app, re-inventing the offset/retry/commit
machinery debezium-server already provides for other sinks.
A first-class debezium-server-ydb sink would put YDB on par with the existing Pulsar / Kinesis / Pub/Sub / RabbitMQ / NATS sinks and pair naturally with the YDB-backed OffsetBackingStore and SchemaHistory proposed separately, enabling a Kafka-free, fully YDB-resident
Debezium deployment.`
---
**Implementation ideas (optional)**
`- New module debezium-server-ydb, wired into the parent pom.xml, BOM, and debezium-server-dist assembly.
- YdbChangeConsumer extends BaseChangeConsumer, @Named("ydb") @Dependent. @PostConstruct opens GrpcTransport + TopicClient; @PreDestroy drains async writers.
- YdbChangeConsumerConfig exposing the usual Field.Set under debezium.sink.ydb.*.
- handleBatch keeps a pool of AsyncWriters keyed by producer_id (connector + instance + message group, group defaulting to record.destination()), awaits all WriteAcks, then calls markProcessed / markBatchFinished.
- YdbIT using a testcontainer-based TestResourceLifecycleManager.
A working prototype of the consumer logic already exists out-of-tree and will be ported into the canonical CDI shape for the PR. `
Contributor guide
Assessment
This issue has not been assessed yet.