Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
@blimpyacht Event Sourcing is powerful way to think about domain objects and transaction processing. Rather than persisting an object in it's current state, event sourcing instead writes an immutable log of deltas (domain events) to the database. from this set of events, an object's state is derived, at any point in the past, simply by replaying the event history sequentially. Event sourcing is a deceptively radical idea which challenges our contemporary notions about transaction processing, while also being a mature pattern with a long history. This talk will take a look at how event processing is used across a spectrum of use cases, including database engines and financial systems, to Google Docs hacks. Talk given at GORUCO 2015: http://goruco.com
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
Event sourcing, as presented by Bryan Reinero at GoRuCo 2015, introduces a paradigm shift in how we manage and store the state of domain objects in transaction processing. Unlike traditional methods that persist the current state of an object, event sourcing records an immutable log of changes, or events, to the database. From this log, an object’s state can be reconstructed at any moment by replaying the events sequentially. This talk emphasized the importance and maturity of this concept by outlining its various applications, especially in system reliability and historical data tracking. ### Key Points Discussed: - **Definition of Event Sourcing**: Event sourcing focuses on persisting the history of changes (events) rather than the current state of the data, making it easier to recover from data loss or corruption. - **Example of a Banking App**: Bryan illustrates event sourcing with a banking application where transactions are logged, allowing for a complete history of actions (e.g., transactions between users A and B) rather than just current balances. - **Security and Recovery**: With event sourcing, if an attack or data corruption occurs, the system can regenerate current states by replaying events up to the point of failure, enhancing security and traceability. - **Historical Context**: He also points out that event sourcing is not a novel concept; its roots can be traced back to historical practices such as the dual-entry accounting system introduced by Luca Pacioli and records from Augustus Caesar. - **Modern Applications**: Event sourcing is likened to version control systems like Git and is utilized in databases, such as MongoDB, where operations are logged to maintain data consistency across nodes. - **Challenges of Event Sourcing**: Bryan addresses potential performance issues, noting that deriving the current state from a full event log every time can be inefficient. He suggests creating snapshots to optimize this process. - **Command Query Responsibility Segregation (CQRS)**: The talk discusses how CQRS complements event sourcing by separating write and read operations, which allows for scaling and improved performance, particularly for read-intensive applications. ### Conclusions: Bryan concludes by expressing enthusiasm for further discussions on event sourcing and encourages attendees to reach out with questions. The key takeaway is that event sourcing represents a powerful yet historically established approach to data management that enhances system reliability, security, and flexibility in application design.
Suggest modifications
Cancel