~/talk

Transactional Event Sourcing using Slick audit log for free

Talkat Scala Days Berlin 2016 · 2016-06-15..06-17· [databases]
slides:none on file

A small micro-framework demonstrates transactional event sourcing on a relational DB using Slick DBIO actions to compose writes and run them in a single transaction. Events are stored in an events table with JSON payload and metadata (type, aggregate id, timestamp, tx id, user id); model updates and event listeners run from the same transaction to update a SQL read model and trigger side effects. Example is a one-per-person Tesla order demo that persists events, updates the read table and executes listeners; the code runs but the live demo has minor hiccups.

AI-written summary · about

  1. 0:00Introduction
  2. 1:34Why event sourcing
  3. 4:19About Software Mode
  4. 5:08Goal
  5. 6:24Other approaches
  6. 7:30What are events
  7. 8:02How to represent events
  8. 9:24Read model
  9. 10:58Special data type
  10. 12:38Live coding
  11. 13:38Example application
  12. 14:38Events table
  13. 16:08Point of entry
  14. 26:18Registry
  15. 34:48Problems
  16. 37:48Wrap up
~/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.