Kuvasz-streamer: open-source CDC for Postgres for low latency replication
31–40 of 51 posts
Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#32Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#33Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#34That said, their implementation is kinda poor since it allows overlapping dates for queries when a row gets updated multiple times per day. When you SQL join to that kind of SCD2 by a given date you can easily get duplicates.
This can be avoided by A) updating old rows to end-date yesterday rather than today, and B) if a row begins and ends on the same day, the start date or end date can be NULL or a hardcoded ancient or far-future end-date, such as having the record from "2023-01-01 to 2023-01-01" instead be "2023-01-01 to 0001-01-01". Those rows won't show up in joins, but the change remains visible/auditable and you do get the last row available for every given date (and only one such row.)
Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#35What kind of delivery guarantees does this offer? And does it provide data replay? Currently evaluating https://sequinstream.com/ which claims sub-200ms latency, but has a lot of extras that I don’t need and a lighter weight alternative would be nice.
I looked at sequin just now and wish they published their benchmark code. I’m curious how they configure Debezium. At 500 change/s, I get ~90ms average latency with my Debezium cluster after fiddling with Debezium options a bunch. I don’t love Debezium but I also don’t love Erlang, plenty of us have scars from RabbitMQ’s weird sharp edges…
The main thing we want to communicate is that we're able to keep up with workloads Debezium can handle.
(And, re: RabbitMQ, I wouldn't write off a platform based on a single application built on that platform :) )
Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#36I’ve recently looked into tools like that, I have a busy Postgres table that has a lot of updates on one column and it’s overwhelming Debezium. I’ve tried many things and looked into excluding them from replication with a publication filter but this still causes “events”. Anyone has some pointers on CDC on busy tables?
Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#37One will want to be cognizant of its AGPLv3 license https://github.com/kuvasz-io/kuvasz-streamer/blob/v1.19.2/LI...
Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#38Earlier quoted context omitted.
Sequinstream is written in Elixir and also pretty recent. https://github.com/sequinstream/sequin Any reason we're seeing so many CDC tools pop up?
The status quo tool Debezium is annoying/heavy because it’s a banana that comes attached to the Java, Kafka Connect, Zookeeper jungle - it’s a massive ecosystem and dependency chain you need to buy into. The Kafka clients outside of Java-land I’ve looked are all sketchy - in Node, KafkaJS went in maintained for years, Confluent recently started maintaining rdkafka-based client that’s somehow slower than the pure JS o…
Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#39Re: Kuvasz-streamer: open-source CDC for Postgres for low latency replication
#40One will want to be cognizant of its AGPLv3 license https://github.com/kuvasz-io/kuvasz-streamer/blob/v1.19.2/LI...
This is becoming pretty standard for these types of projects that want to be open source but don't want to end up finding out their product got sucked up by AWS and friends. Usually, they offer a commercial license as well.