~/talk

Surviving Long Event History

slides:none on file

NRK runs event streams 13–15 years long and replaying them is practical if events are versioned, small and schema-based. Uses Protobuf over JSON for compact, stable schemas; avoids polymorphic serialization and giant payloads (subtitles should be file references, not inline). Applies a hybrid snapshots + replay strategy for performance, stores outgoing messages with outbox pattern, and runs annual in-store migrations to prune obsolete origins and fix corrupted events.

AI-written summary · about

  1. 0:00🚀 Introduction: The Importance of Long Event History in Event Sourcing
  2. 2:00Event Sourcing and Why It Works for Long History Survival
  3. 4:00Key Benefits of Long Event History and Why You Should Keep Events Long
  4. 6:00Common Challenges: Performance, Storage, and GDPR Concerns
  5. 8:00The Hybrid Approach: Combining Event Replay with Snapshots for Performance
  6. 10:00Best Practices for Event Versioning and Data Ownership
  7. 12:00Separating Commands, Persistent, and Transit Events
  8. 14:00Avoiding Overgeneralized Event Types: Why Specificity Matters
  9. 16:00The Dangers of Large Event Payloads and How to Handle Them
  10. 18:00Event Serialization: Choosing the Right Format for Long-Term Survival
  11. 20:00Migrating Events: How to Prepare for Event Migration
  12. 22:00Protobuf vs. JSON: Why Protobuf Is Better for Long-Term Systems
  13. 24:00Handling Broken Backward Compatibility and Event Cleanup
  14. 26:00Using Event Versioning vs. Creating New Events
  15. 28:00How to Manage Event Migrations in Real-World Scenarios
  16. 31:00Key Takeaways for Ensuring Long Event History Survival
  17. 34:00Closing Thoughts: Event Sourcing and Building Systems for Decades
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.