Regarding CRUD system vs event sourcing system, from this newsletter, I still can not figure out the differences, it seems that order table in CRUD system is the same as the event log in event sourcing system, and the only difference is that event sourcing system adds an additional order view, but this view could be easily built in CRUD system too.
If you view on the async side, It acts as the pub-sub pattern. Service A push event to producer. Service B listen event from producer and re-ack to producer. This will increase the latency, throughput, availability of the application.
The order table is more akin to the order view. It's represents current state.
The event stream (log) represents the individual changes over time, and can be used to rebuild many different views of current state (or state at a point in time).
Regarding CRUD system vs event sourcing system, from this newsletter, I still can not figure out the differences, it seems that order table in CRUD system is the same as the event log in event sourcing system, and the only difference is that event sourcing system adds an additional order view, but this view could be easily built in CRUD system too.
If you view on the async side, It acts as the pub-sub pattern. Service A push event to producer. Service B listen event from producer and re-ack to producer. This will increase the latency, throughput, availability of the application.
The order table is more akin to the order view. It's represents current state.
The event stream (log) represents the individual changes over time, and can be used to rebuild many different views of current state (or state at a point in time).
We are investigating scylladb vs redis at my job, curious if any of you have thoughts on choosing one over the other for fast search functionality.