Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Recorded in June 2018 during https://2018.rubyparis.org in Paris. More talks at https://goo.gl/8egyWi
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
In the talk titled **Event Sourcing for Everyone**, Jenna Blumenthal introduces the software design pattern known as **event sourcing**. Aimed at developers ranging from novices to experts, Jenna discusses the core principles of this architectural style and its advantages over traditional database management systems. The key points covered in her presentation include: - **Definition of Event Sourcing**: Event sourcing is described as a method where every change in the application state is captured as an immutable event. Instead of modifying data in place, a new event is created for every state transition, fostering a clearer depiction of business processes. - **Common Issues with Traditional Approaches**: The presentation highlights problems encountered with traditional database-backed applications, particularly relating to data loss and the complexity of maintaining an accurate history of changes. - **Key Components of Event-Sourced Systems**: Jenna outlines important concepts such as commands, events, domain models, and projections. She describes how these components interact: - **Command**: Indicates intent for an action. - **Event**: Records a fact about a state change. - **Domain Model**: Contains the business logic. - **Projection**: Represents the read-only view of the data. - **Introduction to CQRS**: The talk briefly touches on Command Query Responsibility Segregation (CQRS), explaining how separating the reading and writing sides of an application can simplify understanding event sourcing. - **Step-by-Step Example**: Blumenthal elaborates through a practical example using an account class in a traditional Rails app, demonstrating how to incrementally introduce event sourcing patterns, such as event creation and handling lifecycle methods like ‘register’, ‘change_plan’, and ‘disable’. - **Challenges of Event Sourcing**: Jenna discusses potential issues, including naming collisions, managing schema changes, and handling side effects. She emphasizes that event sourcing may not be suitable for all applications but can effectively address complexity as systems scale. Jenna concludes by encouraging the audience to consider the context and the applicability of event sourcing for specific models rather than adopting it universally right away. The session ends with a Q&A where she elaborates on using event sourcing at Shopify, emphasizing choosing event-based models for initial implementation. Overall, the presentation provides a comprehensive introduction to event sourcing, laying the groundwork for understanding how this pattern can enhance application design and facilitate clearer communication within development teams.
Suggest modifications
Cancel