Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf AU 2016: Much has been said about the dangers with ActiveRecord, but the advice is usually limited to avoiding callbacks or not building God models. We still use it because there hasn't been a viable alternative. It is not actually a trait unique to ActiveRecord that makes it dangerous, however--it's because it's an ORM, and all ORMs must die. With Event Sourcing, we can build Ruby applications that are simple, scalable, extensible, and elegant without ActiveRecord or any other ORM anywhere in sight. We get a free time machine, and find out that Event Sourcing is a lot older than we might think.
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 this presentation titled *Event Sourcing, or Why ActiveRecord Must Die*, Sebastian von Conrad discusses the limitations and dangers of using ActiveRecord as an ORM (Object-Relational Mapping) tool in Ruby applications. He argues that the principle of being able to delete or update data—common in traditional software development—leads to significant issues with data integrity and historical accuracy. Key points include: - **Immutable Data**: In real life, past events are immutable, and any mistakes made cannot be erased. Similarly, in software development, data should be treated as an immutable append-only log of events. - **The Dangers of Deletion**: Conrad emphasizes that deleting data, whether intentionally or accidentally, is detrimental. He highlights that organizations frequently lose valuable data due to unexpected deletions. - **Updates are Deletions**: Updating data actually involves overwriting previous data, which leads to loss of historical information. He uses the example of email address updates to illustrate the point that prior information can still hold value. - **Event Sourcing as a Solution**: Instead of updating or deleting data, event sourcing involves storing all events that occur in a system. This method allows for reconstructing the current state of data by replaying these events. - **Historical Integrity**: He draws parallels to accounting systems, which have historically utilized this event-sourcing methodology to maintain a reliable record of transactions, further reinforcing the value of this approach. - **Challenge of Mindset Shift**: Moving to an event-sourcing model requires a significant shift in how developers think about data handling. However, it is a necessary transition to improve data integrity. Conclusions drawn from the talk suggest that by implementing event sourcing, developers can overcome the pitfalls associated with deletion and updates that ActiveRecord encourages. Instead of relying on systems that prioritize current data states, developers are encouraged to embrace methodologies that respect and retain data history, thereby enhancing the reliability and robustness of their applications. He urges the audience to consider utilizing event sourcing, especially for applications requiring historical data retention.
Suggest modifications
Cancel