The most clear explanations on CQRS & event sourcing I've ever watched/read, thank you!
@therolinga792 ай бұрын
This specific video it is not well explained at all
@mecamon2 ай бұрын
What a beautiful way of explaining concepts. Bravo and thanks!
@sna241 Жыл бұрын
Amazing lecture. Thank you.
@alexandresantos7966 Жыл бұрын
Clear and objective explanation. Thank you.
@david75186 Жыл бұрын
it is very interesting to understand this paradigm because help us not to create a complexity where do not need
@anantmishra67835 ай бұрын
1:21 Why would the balance of a checking account ever be calculated during a read operation anyway though? Not sure if this is a weak example, or just basic common sense being labelled as CQRS?! and additionally, how is THAT called CQRS? Quite confusing... hmm
@soak20942 жыл бұрын
Great explanation, thanks
@Akhbash10 ай бұрын
CQRS doesn't mean having 2 databases or models, read & write or to compute the Read Model when manipulating Write Model. The definition of CQRS is a term coined by Greg young, to explain an Architectural Pattern that allows for a SoC between a Read Model and a Write Model, the later used for Commands (Create, Update, Delete) and the other for Queries (Read), though not strictly meant only for CRUD. Also, CQRS does not enforce having 2 models.
@Akhbash10 ай бұрын
@@ConfluentDeveloperRelations Wow, didn't thought someone from Confluent would actually reply, that's awesome! I totally got the point of the video, perhaps I missed my chance on making that clear though. Thanks for the reply ;D
@bjojosimpson5 ай бұрын
@@Akhbash What you are describing is CQS (Command-query separation), which is the more general pattern which doesn't require at least two models for reads and writes. Speaking of Greg Young, on his document about CQRS he wrote the following: "It is not possible to create an optimal solution for searching, reporting, and processing transactions utilizing a single model."
@thedacian123 Жыл бұрын
What would happend if i have to change the event format and we have a lot of events gathered in the log?Thank you!
@vijayjayaram6063 жыл бұрын
Much needed right now Thank you 🙏
@giacmoit2 жыл бұрын
What is the benefit of CQRS?
@tharun81642 жыл бұрын
The primary intention is to decouple the writes and reads. If you want to understand why do we even need to decouple them, then the below example gives some context. Ex: I assume you're familiar with data structures and algorithms. Let's say we receive input as a stream(array) of numbers and we need to address the following questions. Q1) Print the last 5 numbers. (queue) Q2) Print the top K smallest of all numbers. (priority queue) Q3) Print the sum of numbers. To answer the above questions, we build a data structure tailored to address that specific question so as to improve the time complexity. Similarly, cqrs do this at the systems level.
@iamnoob7593 Жыл бұрын
@@tharun8164 I get ur point , Its still not clear . As CQRS can lead to data inconsitency and performance issue
@tharun8164 Жыл бұрын
@@iamnoob7593 CQRS may lead to data inconsistency with incorrect implementation. Let’s consider a use case of data integration i.e., we want to persist the same data in 2 different databases. For ex, we wanted to use MySql as a source of truth and Elasticsearch to provide full-text search. If we try to persist the data in MySql and Elasticsearch from the application then it’ll lead to a fundamental problem called ‘dual write’. With this issue, data may become inconsistent between MySql and Elasticsearch due to reasons like a race condition, client failure, or any database failure. In order to mitigate this problem we can implement Change Data Capture(CDC) pipeline. This CDC approach tails the MySql log and applies these changes to Elasticsearch. These MySql logs are converted as events and pushed to Event Bus(Kafka). This CDC pipeline ensures that data is consistent between MySql and Elasticsearch. Since there will be latency in processing these CDC events, it leads to Eventual Consistency. Regarding the performance, since the database logs are used in creating events it doesn’t have any impact on existing application latencies.
@iamnoob7593 Жыл бұрын
@@tharun8164 wow , thats very detailed . Thanks
@jibranjaved61652 жыл бұрын
So the system will eventually "inconsistent" as said read will not b possible right after "write", performance or segregation tradeoffs with data inconsistentcy... Apart from this why I would b interested from real world usecase POV that if user first add T shirt then delete T-shirt n add Pants to the cart n add one more Shirt n delete added Pants n added T-shirt again...ok we are writing these events to eventlog just to have record where user started???why I would b interested what was the system state at the time when this user started shopping??? What I want to achieve from that!??
@ITube4RealFun Жыл бұрын
The hand gesture is distracting and she talks too fast.
@bY6U5T4V0 Жыл бұрын
there's a speed control tool embedded in KZbin that might help you understand her better.