thanks, this really teach me how event sourcing works in 1 hour. I wanted to learn event sourcing for some time but this video really show how it works practically.
Thanks for the lecture. Of cource there is strong consistency when you have a single replica. And evrything has to commit in the same db server. Eventual consistency is not only about that. I suggest Searching for "distributed transactions and crdts". There are some nice lectures by Martin Kleppmann
If you put every event in one table you end with many locks on this table. And many locks means a bottleneck. Yes it's append only but RDBMS knows nothing about it. I better use NATS, EventStoreDB or even Kafka (if aggregate instances will not be a lot) to store events. At least you have to spread streams by separate tables by stream type. I also do not so like your approach with separating logic and data in an object-oriented language like C#. Yes sometimes functional style is useful but not in this case.
thanks, this really teach me how event sourcing works in 1 hour. I wanted to learn event sourcing for some time but this video really show how it works practically.
great lecture. bravo. wish these advanced techniques where available in java
Thanks for the lecture. Of cource there is strong consistency when you have a single replica. And evrything has to commit in the same db server. Eventual consistency is not only about that. I suggest Searching for "distributed transactions and crdts". There are some nice lectures by Martin Kleppmann
Could you point to the place where I said that there's something wrong with eventual consistency? 🙂
@@event-driven i must admit you are correct.
@@JosiahWarren great! 🙂 Btw. Martin Kleppmann's "Designing Data-Intensive Applications" is one of my favourite books. Highly recommended to everyone.
If you put every event in one table you end with many locks on this table. And many locks means a bottleneck. Yes it's append only but RDBMS knows nothing about it. I better use NATS, EventStoreDB or even Kafka (if aggregate instances will not be a lot) to store events. At least you have to spread streams by separate tables by stream type.
I also do not so like your approach with separating logic and data in an object-oriented language like C#. Yes sometimes functional style is useful but not in this case.
All ideas look great when the example is a glorified todo list. If only real world software were that simple.