Hi!
First off, I love Debezium, it's really the only open-source solution that has been able to ship our 800GB-ish database into Kafka and then into BigQuery, so thank you for that.
I'm running Debezium on Kafka Connect and Redpanda and all of this is run on Kubernetes. Now that the system is set up and stable and we're not running so many snapshots I've noticed that the CPU usage drops from 3-4 cores during snapshotting to 70m-80m during streaming. We maintain the 3 core requests on our nodes in order to make sure we always have enough resources to run the snapshot when we need to, but the streaming CPU usage is a fraction of the snapshot usage. The memory usage stays roughly the same, although it does spike a few GB when we're running a snapshot.
This is a tremendous waste of our CPU resources, and as we scale we're worried it's only going to get worse. Are there any existing strategies to deal with this? If not, are there any plans to split up the streaming and snapshotting processes, perhaps into separate tasks, or even separate connectors, so we can scale up and scale down as needed? It's already is possible to listen on Kafka topics and spin up K8s resources using the HPA, so we could spin up additional resources on-demand when a snapshot signal is received.
Thanks!
Adil