Skip to content
0:00 / 0:00

#cqrs#eventsourcing#gregyoung

Greg Young - CQRS and Event Sourcing - Code on the Beach 2014

Code on the Beach

3K subscribers • 1 video on Hallway

YouTube
  • Recommended by 5 people: 4 on Hacker News and 1 curated list.
  • A classic. People kept recommending it from 2016 to 2022.
  • Presented by Greg Young, software architect
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

169K views12 years ago5 recommendations

Software designDatabases and dataSoftware architectureEvent-driven systems and messagingDesign patterns

Greg Young explains the concepts of CQRS and event sourcing, arguing that systems should be built on historical facts rather than current state.

Watch Greg Young's talk "CQRS and Event Sourcing" from Code on the Beach 2014 at One Ocean Resort & Spa, Atlantic Beach, Florida. Saturday, August 9, 2014. www.codeonthebeach.com Abstract: "Looking at mature domains it is odd that almost none have a concept of current state but instead are built off a set of facts that occurred; is your bank balance a column in a table? This is not by accident and there are many benefits to having this viewpoint of a system both from a business and a technological viewpoint. In this talk we will look at what cqrs (command and query responsibility segregation) and event sourcing are."

Why it's here

5 people recommend this

What people say. Engineers point to this talk as a highly influential explanation of event sourcing and system modeling.

Moments people linked to

stock_toasteron Hacker News • Recommends

On “Talks that changed the way I think about programming”

The following talk about event sourcing (not listed in the article)•, really made an impact on me: Event Sourcing - Greg Young link to this video •: Not that I really expected it to be I guess.

ssalkaon Hacker News • Recommends

On “Ask HN: Best dev tool pitches of all time?”

Not about dev tools per se, but this talk by Greg Young on event sourcing & CQRS forever changed how I think about modeling systems, preserving history, and supporting multiple read models/versioning. Really clear walkthrough of the types of problems that benefit from an event sourced system, how event sourcing addresses them, and exploration of new use cases it enables. link to this video

every-programmer-should-knowcurated list on GitHubRecommends

Under “Architecture”

:movie_camera: CQRS and Event Sourcing

matthewaveryusaon Hacker News • Recommends

On “Wolkenkit 3.0 – a CQRS and event-sourcing framework for JavaScript”

…get regression tests for free, and you get backups for free which may be nice-to-haves when the business is small, but absolute requirements once you have real customers paying real money. Not sure how I would squeeze that in an elevator pitch though. Greg Young's presentation on event-sourcing is pretty great, you may find some inspiration there: link to this video…

rhizome31on Hacker News • Recommends

On “Event Sourcing is Hard”

For a fun introduction to this concept and the motivations behind it, you may watch Greg Young's talk link to this video

u/statuekin r/dotnet • Mentions

On “Designing applications that keep log of everything and every action, with undo/version control?”

Look into event sourcing. I highly recommend this talk: [video
6View on Reddit

u/mycallin r/dotnet • Mentions

On “CQRS with ASP.NET MVC”

The important part of CQRS is separating your reads from your writes. It isn't simple CRUD (model <--> service layer <--> repository <--> db). Consider your reads just denormalized projections and your write decomposed one or more column writes (assuming db as your store), using different classes for each. Adding present-tense commands to past-tense events will finish off the pattern, but are not necessary for obtaining the benefits of CQRS without going full CQRS. https://skillsmatter.com/skillscasts/1980-cqrs-not-just-for-server-systems http://lokad.github.io/lokad-cqrs/ link to this video

u/crazymonkey159in r/dotnet • Mentions

On “Akkatecture a CQRS and ES framework for dotnet core”

CQRS - Command Query Responsibility Segregation ES - Event Sourcing I would highly recommend this talk by Greg Young

u/syedajafri1992in r/haskell • Mentions

On “What is Haskell good for?”

This video is a pretty good primer: [video Conceptually you have some event log that is your source of truth, and your state is derived from it by folding over that log. Now you might not actually do a fold for every query but conceptually that's it. Now coming from an imperative language that's quite a shift in terms of thinking about state. However coming from a functional language, while still a mindset change, it feels much more natural. I've done event sourcing in Typescript and a bit in Scala, and it's been much more pleasant to write in this style using Haskell. I think my team has an easier time groking the concepts than in past experiences. Maybe that's just the Python paradox b…

u/MindOfJayin r/Clojure • Mentions

On “What does your dream Clojure stack look like?”

I'm working on that right now! I'm building an Event Sourced system heavily inspired by two talks^1. Backend: * "Servers": Lambda + Lambada + Amazonica for bits of functionality. * Configuration store: S3, DynamoDB * Routing: API Gateway * Messaging: SNS * Stores: Postgres + HoneySQL (Event store and Materialized View store), DynamoDB + Faraday for misc. * IAM roles EVERYWHERE! Front end (still in heavy development): * Reagent * Hiccup * Custom sync engine for events to/from the server * Serve from S3 bucket From my experience so far, Lambdas allow me to hoist the "generic" webserver stuff (routing, auth(z), etc) out of the microservices themselves and onto AWS primitives, making them f…

bottleneckedon Hacker News • Mentions

On “Show HN: Learn what DDD, CQRS, and event-sourcing are all about”

Greg Young also cautions "Do not tell me you've built an event sourced system"* (or something along those lines) meaning that you should be careful to apply the pattern only to the part(s) of the system that makes sense (due to the increased complexity of ES) * I think it's in this talk link to this video

u/abductee_zeroin r/elixir • Mentions

On “Eventful - Auditable State Machine for your Schemas”

You probably want to do event sourcing + cqrs instead. link to this video