In a time not too long ago, we just used SQL for everything. Thank god that’s over, but while we’re blessed with loads of different NoSQL data stores that all have their use cases, we need to figure out how to keep data between these stores.
The premise is easy: You listen for changes in one database, and propagate them to one or more other databases. It turns out that this is one of the problems that is Harder Than It Looks™.
In this talk I’ll do a quick intro on Apache Kafka and Kafka Streams, and then start to look at concrete examples why we need something like Kafka Streams to deal with this database diversity.
Finally, if we follow the thread of this architecture, it gets a bit meta and we end up with concepts like CQRS and Event Sourcing. It will change the way you think about data and replication. Promise.