{
    "componentChunkName": "component---src-templates-category-template-js",
    "path": "/en/category/event-sourcing/",
    "result": {"data":{"allMarkdownRemark":{"totalCount":85,"edges":[{"node":{"fields":{"slug":"/fixing-bugs-in-event-sourcing-is-hard/"},"excerpt":"Every system ends up with bad data. Some of it comes from integrations, some from users doing things nobody predicted, and a good part of it…","timeToRead":12,"frontmatter":{"title":"Fixing bugs in Event Sourcing is hard, for real?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/throw-result-or-neither/"},"excerpt":"There is one question I keep getting about my event-sourced code: why don’t I use ? It usually comes after someone sees a decision throwing…","timeToRead":22,"frontmatter":{"title":"Throw, Result, or neither?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/yoda_principle_in_command_design/"},"excerpt":"Try not. Do. Or do not. There is no try! I’m calling this the Yoda Principle. Master Yoda said that to Luke Skywalker a long time ago in a…","timeToRead":5,"frontmatter":{"title":"Yoda Principle for better integrations","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/passive_aggressive_events/"},"excerpt":"Have you ever heard phrases like. Just an update, the milk ran out. Someone finished it and put the empty carton back. Or So everyone is…","timeToRead":11,"frontmatter":{"title":"Anti-patterns in event modelling - Passive-Aggressive Events","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/strict_ordering_in_event_handling/"},"excerpt":"After the last article on Dealing with Race Conditions in Event-Driven Architecture with Read Models, I got such a question from Ben: You…","timeToRead":19,"frontmatter":{"title":"Handling Events Coming in an Unknown Order","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/dealing_with_race_conditions_in_eda_using_read_models/"},"excerpt":"My events came out of order! What should I do?! Are you familiar with the term “phantom record” and its benefits? No? Let me explain it to…","timeToRead":17,"frontmatter":{"title":"Dealing with Race Conditions in Event-Driven Architecture with Read Models","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/mongodb_event_store/"},"excerpt":"I have always said that MongoDB is not the best choice for event storage, and guess what? I just released the stable version of the MongoDB…","timeToRead":28,"frontmatter":{"title":"How to build MongoDB Event Store","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/idempotent_command_handling/"},"excerpt":"“Is your command handling idempotent?” Sounds like a douchebag question to ask. Actually, that’s not a question but a statement that we want…","timeToRead":21,"frontmatter":{"title":"Idempotent Command Handling","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/projections_and_event_metadata/"},"excerpt":"Some time ago, I wrote about the dangers that come from the I’ll just add one more field” attitude. Have you heard about the Broken Window…","timeToRead":9,"frontmatter":{"title":"Using event metadata in event-driven projections","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/emmett_projections_testing/"},"excerpt":"In the previous article, I told what happened when Emmett and Pongo walked into a bar. In other words, I announced that you can now do Event…","timeToRead":11,"frontmatter":{"title":"Writing and testing event-driven projections with Emmett, Pongo and PostgreSQL","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/to_do_list_and_passage_of_time_patterns_combined/"},"excerpt":"Managing processes is non-trivial. I have written about it in multiple posts and told you the horror story of the case that should have…","timeToRead":10,"frontmatter":{"title":"Combining the To-Do List and the Passage Of Time patterns for resilient business workflows","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/inmemory_message_bus_in_typescript/"},"excerpt":"I’m writing this article on Friday, and it’s about time to have some fun. As this is a programming blog, let’s have some fun coding. Let’s…","timeToRead":13,"frontmatter":{"title":"How to build an in-memory Message Bus in TypeScript","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/anti-patterns/"},"excerpt":"Have you heard about Passive Aggressive Events or CRUD sourcing? Or maybe about the Clickbait event? If you don’t, you better check the talk…","timeToRead":3,"frontmatter":{"title":"Event modelling anti-patterns explained","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/i_am_no_longer_marten_maintainer/"},"excerpt":"Folks, I’d like to inform you that I’m no longer a Marten maintainer. As you know, sometimes in the project’s lifetime, there’s a moment…","timeToRead":4,"frontmatter":{"title":"I'm no longer Marten maintainer","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/testing_event_sourcing_emmett_edition/"},"excerpt":"I’ve been going pretty down the rabbit hole in the last few years. What am I searching for? A way to deliver better software. And that’s, of…","timeToRead":20,"frontmatter":{"title":"Testing Event Sourcing, Emmett edition","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/speed_up_your_event_sourcing_journey_with_workshops/"},"excerpt":"Event Sourcing is a pattern that is quickly gaining popularity. Many companies see the advantages it brings, e.g. business focus and keeping…","timeToRead":6,"frontmatter":{"title":"Join my Event Sourcing workshops at Techorama and DDD Europe and speed up your journey!","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/should_you_always_keep_streams_short/"},"excerpt":"In the last article and others I did my best explaining why keeping streams short is important in Event Sourcing. I also showed you how…","timeToRead":5,"frontmatter":{"title":"Should you always keep streams short in Event Sourcing?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/closing_the_books_in_practice/"},"excerpt":"No one knows who invented Event Sourcing. I overheard that Hammurabi did. Why? Because he standardised the first set of rules of accounting…","timeToRead":18,"frontmatter":{"title":"Implementing Closing the Books pattern","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/introducing_emmett/"},"excerpt":"Simple is not easy. Each person has its definition of it. For me, it means that when I look at the solution, I think: “So simple. Why didn’t…","timeToRead":5,"frontmatter":{"title":"Announcing Emmett! Take your event-driven applications back to the future!","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/production_grade_event_sourcing/"},"excerpt":"Putting the career bets is not easy; I made boring and pragmatic choices for most of my career. They took me far. Yet, I always felt that…","timeToRead":5,"frontmatter":{"title":"Production-Grade Event Sourcing Workshop - Modelling, DevOps, Process","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_have_fun_with_typescript_and_workflow/"},"excerpt":"TypeScript is an intriguing language. Some say that its type system, by itself, is Turing Complete. Some take it to the extreme and even…","timeToRead":14,"frontmatter":{"title":"How TypeScript can help in modelling business workflows","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/on_putting_stream_id_in_event_data/"},"excerpt":"You’re reading much more code than you’re writing. Readability is a highly subjective term. That’s probably why some call what we’re doing…","timeToRead":8,"frontmatter":{"title":"Stream ids, event types prefixes and other event data you might not want to slice off","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/one_or_more_event_that_is_the_question/"},"excerpt":"Asking people for feedback is an intriguing story. I like to get constructive criticism for my work, as that allows me to learn something…","timeToRead":9,"frontmatter":{"title":"Should you record multiple events from business logic?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/the_end_is_near_for_crud_data/"},"excerpt":"Knock knock? Who’s there? It’s me, Oskar, the end is near, did you know that? Ah, you know it but don’t know how to proceed? Let’s talk…","timeToRead":7,"frontmatter":{"title":"Hitchhiker's Guide To Moving From Relational Data To Events","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/clickbait_event/"},"excerpt":"Doctors Hate Her! Discover the Simple Trick to Lose Weight Overnight! This One Weird Trick Can Save You Hundreds on Your Energy Bills! The…","timeToRead":10,"frontmatter":{"title":"Anti-patterns in event modelling - Clickbait event","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_update_past_data_in_event_sourcing/"},"excerpt":"One team win is a loss for the other. For some people, money loss is a gain for others. In the same way, the challenging parts of Event…","timeToRead":6,"frontmatter":{"title":"Oops I did it again, or how to update past data in Event Sourcing","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/my_journey_from_aggregates/"},"excerpt":"I was recently asked what drove me to mostly use immutable data and methods rather than the Aggregate Pattern in my samples and videos. I…","timeToRead":6,"frontmatter":{"title":"My journey from Aggregates to Functional Composition","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/event_transformations_and_loosely_coupling/"},"excerpt":"One of the biggest pains in traditional software design is accidental complexity. We want to understand and reflect on the business process…","timeToRead":9,"frontmatter":{"title":"Event transformations, a tool to keep our processes loosely coupled","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/prototype_underestimated_design_skill/"},"excerpt":"Coding is an underestimated part of the design. When we think about the design, we immediately fall to whiteboard diagrams, sticky notes, or…","timeToRead":9,"frontmatter":{"title":"Prototyping, an underestimated design skill","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/online_course_survey/"},"excerpt":"I realised that I could do more to help you and other folks. I’ve been sharing online content for free in the last few years on this blog…","timeToRead":1,"frontmatter":{"title":"Could you help me by filling a short survey about an online course?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/event_sourcing_live_2023/"},"excerpt":"InfoQ claims that Event Sourcing is in the late majority adoption phase. That means that if you haven’t started to use it, you better start…","timeToRead":9,"frontmatter":{"title":"Recap of Event Sourcing Live 2023","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/holy_graal_syndrome/"},"excerpt":"Our industry is harmed by the disease of “There has to be something more!” also called “The Holy Grail syndrome”. Instead of trying to…","timeToRead":3,"frontmatter":{"title":"The Holy Grail syndrome","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/i_will_just_add_one_more_field/"},"excerpt":"Programming origins are in mathematics. Scientists like John Von Neumann and Alan Turing built the foundations for today’s computers. That…","timeToRead":9,"frontmatter":{"title":"Anti-patterns in event modelling - I'll just add one more field","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/audit_log_event_sourcing/"},"excerpt":"Usually, one of the main drivers for Event Sourcing is the audit log capability. Indeed event stores are append-only logs, theoretically, we…","timeToRead":5,"frontmatter":{"title":"Is the audit log a proper architecture driver for Event Sourcing?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/strategy_on_migrating_relational_data_to_document_based/"},"excerpt":"I was recently asked how to migrate a project using relational data to a document-based approach (e.g. from .NET ORM Entity Framework into…","timeToRead":4,"frontmatter":{"title":"General strategy for migrating relational data to document-based","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/testing_event_driven_projections/"},"excerpt":"Projections in an event-driven world are a way to interpret registered events. We can take a sequence of events and build from them read…","timeToRead":11,"frontmatter":{"title":"How to test event-driven projections","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/publishing_read_model_changes_from_marten/"},"excerpt":"Integrations have different names, shades and colours, but only one adjective: challenging. Trying to glue systems together requires…","timeToRead":5,"frontmatter":{"title":"Publishing read model changes from Marten","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/event_stores_are_key_value_stores/"},"excerpt":"Event stores are the foundational building block of Event Sourcing. They’re also one of the biggest sources of confusion. They are databases…","timeToRead":5,"frontmatter":{"title":"Event stores are key-value databases, and why that matters","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/unique_constraint_in_marten_event_store/"},"excerpt":"Unique constraint validation is one of those things that looks simple but is not always easy. I explained already that, in Event Sourcing…","timeToRead":4,"frontmatter":{"title":"Ensuring uniqueness in Marten event store","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/projecting_from_marten_to_elasticsearch/"},"excerpt":"I told you already that Projections are an Event Sourcing killer feature, and today I’d like to repeat that. In Marten, we embraced that and…","timeToRead":10,"frontmatter":{"title":"Projecting Marten events to Elasticsearch","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/simple_transactional_command_orchestration/"},"excerpt":"Let’s say that we’re starting a new project. It’s a small tool for internal needs, maybe even some sort of shadow IT project. It may also be…","timeToRead":10,"frontmatter":{"title":"How to handle multiple commands in the same transaction","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/set_up_opentelemetry_wtih_event_sourcing_and_marten/"},"excerpt":"If I had to select the Distributed Systems Song, I’d choose Land of Confusion. This is the world we live in. And these are the hands we’re…","timeToRead":11,"frontmatter":{"title":"Set up OpenTelemetry with Event Sourcing and Marten","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/projections_in_marten_explained/"},"excerpt":"Projections are a neverending story. One does not simply write a single guide. One needs to write more examples of more advanced cases. That…","timeToRead":13,"frontmatter":{"title":"Event-driven projections in Marten explained","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/projections_and_read_models_in_event_driven_architecture/"},"excerpt":"If I had to choose the killer feature of Event Sourcing, I’d select projections. Why? I’ll explain that in detail in this article. Events…","timeToRead":17,"frontmatter":{"title":"Guide to Projections and Read Models in Event-Driven Architecture","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_validate_business_logic/"},"excerpt":"Fox Mulder got advice: “trust no one”. I’m claiming that each software developer should define their level of paranoia. The thing that we…","timeToRead":8,"frontmatter":{"title":"How to validate business logic","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/lets_build_event_store_in_one_hour/"},"excerpt":"Last year, I completed two items from my speaker bucket list NDC Oslo and Domain-Driven Design Europe. I’m proud and happy, as those…","timeToRead":4,"frontmatter":{"title":"Let's build event store in one hour!","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/explicit_events_serialisation_in_event_sourcing/"},"excerpt":"Events serialisation is an intriguing topic. On the one hand, it’s part of the campfire spooky tales, so (in)famous events versioning. On…","timeToRead":10,"frontmatter":{"title":"Explicit events serialisation in Event Sourcing","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/the_magic_is_that_there_is_no_magic/"},"excerpt":"The magic is that there is no magic. Many patterns perceived as complicated appear to be simple or even simplistic under the cover. Take…","timeToRead":4,"frontmatter":{"title":"The magic is that there is no magic. Or how to understand design patterns.","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/share_your_story_on_event_sourcing_live/"},"excerpt":"Event Sourcing is a concept that helps to build the bridge between business and technical implementation. It’s a storage pattern that takes…","timeToRead":4,"frontmatter":{"title":"Share your story on Event Sourcing Live 2023","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_map_event_type_by_convention/"},"excerpt":"Events are an essential block of Event-Driven Architecture. They represent business facts that happened in our system. We can use them to…","timeToRead":7,"frontmatter":{"title":"Mapping event type by convention","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/never_lose_data_with_event_sourcing/"},"excerpt":"Relational databases are not losing data. They’re robust, consistent and secure! Are they? Too often, we mix technical and logical concepts…","timeToRead":4,"frontmatter":{"title":"Never Lose Data Again - Event Sourcing to the Rescue!","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/testing_event_sourcing/"},"excerpt":"I’ve heard a few times that Event Sourcing is hard to test. I’m not sure where this myth comes from; maybe from mixing it with event…","timeToRead":26,"frontmatter":{"title":"Testing business logic in Event Sourcing, and beyond!","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/event_versioning_with_marten/"},"excerpt":"War never changes; migrations are always complex. It’s always a mind gymnastics and searching for risks and what may go wrong. Sometimes we…","timeToRead":13,"frontmatter":{"title":"Event Versioning with Marten","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/slim_your_entities_with_event_sourcing/"},"excerpt":"In the traditional approach, what we get is what we store. Our write model is too often used directly as our read model, because the typical…","timeToRead":20,"frontmatter":{"title":"Slim your aggregates with Event Sourcing!","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/type_script_node_Js_event_sourcing/"},"excerpt":"In the last two articles, I explained how to organise your business logic effectively, showing how proper typing and composition can help to…","timeToRead":15,"frontmatter":{"title":"Straightforward Event Sourcing with TypeScript and NodeJS","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/union_types_in_csharp/"},"excerpt":"In the article “How to effectively compose your business logic”, I explained how explicit types definition can help in making our codebase…","timeToRead":13,"frontmatter":{"title":"Union types in C#","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_effectively_compose_your_business_logic/"},"excerpt":"Let’s say that we’d like to implement Shopping Cart. We have the following requirements: The customer may only add a product to the shopping…","timeToRead":13,"frontmatter":{"title":"How to effectively compose your business logic","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/event_driven_distributed_processes_by_example/"},"excerpt":"Some time ago, I wrote the general rules on processing the event-driven services. check my article Saga and Process Manager - distributed…","timeToRead":9,"frontmatter":{"title":"Event-driven distributed processes by example","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/should_you_throw_exception_when_rebuilding_state_from_events/"},"excerpt":"Event Sourcing is not a difficult pattern to understand. Event stores are not conceptually complicated databases (although implementation…","timeToRead":5,"frontmatter":{"title":"Should you throw an exception when rebuilding the state from events?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/persistent_vs_catch_up_eventstoredb_subscriptions_in_action/"},"excerpt":"Events can be a great facilitator and glue for business workflows. Subscriptions are an essential block of the event-driven system. They…","timeToRead":6,"frontmatter":{"title":"Persistent vs catch-up, EventStoreDB subscriptions in action","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_build_simple_event_pipeline/"},"excerpt":"Today we will deal with event consumption. I’ll also explain how I wrote the new version of the MediatR library. Curious? We’ll get to that…","timeToRead":5,"frontmatter":{"title":"How to build a simple event pipeline","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/temporal_tables_and_event_sourcing/"},"excerpt":"I’ve been asked recently at least a few times about Temporal Tables and how they relate to Event Sourcing. Beware, and don’t confuse it with…","timeToRead":4,"frontmatter":{"title":"Are Temporal Tables an alternative to Event Sourcing?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/introduction_to_event_sourcing/"},"excerpt":"For many developers, Event Sourcing is like a Nessie, most of them have heard of it, but not many have seen it. I was one of them. I started…","timeToRead":4,"frontmatter":{"title":"Introduction to Event Sourcing - Self Paced Kit","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/uniqueness-in-event-sourcing/"},"excerpt":"“How do I ensure uniqueness? For example, a unique username or an invoice number.” That’s usually one of the first questions I hear from…","timeToRead":5,"frontmatter":{"title":"How to ensure uniqueness in Event Sourcing","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/simple_trick_for_idempotency_handling_in_elastic_search_readm_model/"},"excerpt":"Idempotency is a word worth watching out for. It’s easy to miss a few letters and bang, and we have a problem. It is also a general problem…","timeToRead":3,"frontmatter":{"title":"A simple trick for idempotency handling in the Elastic Search read model","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/using_strongly_typed_ids_with_marten/"},"excerpt":"Let’s say that you have the following class definition: Now you can create instance using: So far, so good. What if we accidentally mixed…","timeToRead":7,"frontmatter":{"title":"Using strongly-typed identifiers with Marten","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/integrating_Marten/"},"excerpt":"In Event Sourcing, events are the source of truth. We save them in the event store to have a permanent history of facts about business…","timeToRead":4,"frontmatter":{"title":"Integrating Marten with other systems","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_do_snapshots_in_Marten/"},"excerpt":"Getting the state from events is a basic but controversial topic in Event Sourcing. I wrote on it longer in other article. To recap…","timeToRead":4,"frontmatter":{"title":"How to do snapshots in Marten?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/simple_events_versioning_patterns/"},"excerpt":"Events (schema) versioning is a boogeyman for people learning Event Sourcing. They’re a spooky tale told at the campfire. There’s a truth in…","timeToRead":15,"frontmatter":{"title":"Simple patterns for events schema versioning","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/lets_talk_about_positions_in_event_stores/"},"excerpt":"Discussions about positions can be awkward, to say the least… It is also the case with positions in Event Sourcing. Each event store…","timeToRead":3,"frontmatter":{"title":"Let's talk about positions in event stores","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_do_events_projections_with_entity_framework/"},"excerpt":"Let’s assume that you’re building an Event-Driven system. You may be using Event Sourcing or microservices integrated with message bus or…","timeToRead":11,"frontmatter":{"title":"How to build event-driven projections with Entity Framework","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/state-obsession/"},"excerpt":"Some time ago, I tackled the first event modelling anti-pattern: “Property Sourcing”. Today I’d like to tackle the next one: “State…","timeToRead":6,"frontmatter":{"title":"Anti-patterns in event modelling - State Obsession","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/property-sourcing/"},"excerpt":"The first time I got down to work at Event Sourcing, I was very energized. Book knowledge almost fell out of me. However, when I sat down to…","timeToRead":6,"frontmatter":{"title":"Anti-patterns in event modelling - Property Sourcing","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_get_the_current_entity_state_in_event_sourcing/"},"excerpt":"Today I’d like to go back a bit to the basics of Event Sourcing. I recently realised that I often cover more advanced topics. So sometimes…","timeToRead":7,"frontmatter":{"title":"How to get the current entity state from events?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/when_not_to_use_event_sourcing/"},"excerpt":"Event Sourcing is perceived as a complex pattern that’s challenging to learn. Typically it’s matched with the financial industry or big…","timeToRead":8,"frontmatter":{"title":"When not to use Event Sourcing?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_scale_projections_in_the_event_driven_systems/"},"excerpt":"People want to scale up everything. In the past, the recipe for everything was to buy a larger server. Today, the answer is to add another…","timeToRead":6,"frontmatter":{"title":"How to scale projections in the event-driven systems?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_using_events_help_in_teams_autonomy/"},"excerpt":"Autonomy is the Holy Grail for the management of multiple teams. At least that’s how it’s perceived; it’s not easy to get the right balance…","timeToRead":4,"frontmatter":{"title":"How using events helps in a teams' autonomy","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/events_should_be_as_small_as_possible/"},"excerpt":"TV size? The bigger, the better. Debt amount? Opposite. It’s hard to find the right size that suits all. How big should the event be? What…","timeToRead":6,"frontmatter":{"title":"Events should be as small as possible, right?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_create_projections_of_events_for_nested_object_structures/"},"excerpt":"Did you ever feel so encouraged so much that you immediately thought, “This is great, let’s do it!“. I’m sure you did. I’m also sure that…","timeToRead":5,"frontmatter":{"title":"How to create projections of events for nested object structures?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/whats_the_difference_between_event_and_command/"},"excerpt":"What’s the difference between a command and an event? The answer seems apparent, but let’s see if it’s straightforward. The command…","timeToRead":4,"frontmatter":{"title":"What's the difference between a command and an event?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/relational_databases_are_event_stores/"},"excerpt":"Are you one of those people saying that Event Sourcing is detached from reality? Do you think that you don’t need such extravagance, as you…","timeToRead":3,"frontmatter":{"title":"What if I told you that Relational Databases are in fact Event Stores?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/what_texting_ex_has_to_do_with_event_driven_design/"},"excerpt":"We sometimes feel melancholic, blue and a bit messy. When we enhance those feelings with “gummy berry juice” then various dubious ideas come…","timeToRead":3,"frontmatter":{"title":"What texting your Ex has to do with Event-Driven Design?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/how_to_do_event_versioning/"},"excerpt":"Developers that are not running a system in production might call themselves lucky. They can live in their perfect world. It is a world…","timeToRead":5,"frontmatter":{"title":"How to (not) do the events versioning?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/bank_account_event_sourcing/"},"excerpt":"While explaining the Event Sourcing, bank account balance calculation is a common starting point. I claim that even though it sounds right…","timeToRead":5,"frontmatter":{"title":"Why a bank account is not the best example of Event Sourcing?","category":"Event Sourcing"}}},{"node":{"fields":{"slug":"/revolution_now/"},"excerpt":"Did you ever get an offer that someone will pay you for what you are currently doing as a hobby? What would be your decision if that would…","timeToRead":5,"frontmatter":{"title":"Revolution now!","category":"Event Sourcing"}}}]},"site":{"siteMetadata":{"facebook":{"appId":""}}}},"pageContext":{"category":"Event Sourcing","lang":"en","langKey":"en","originalPath":"/category/event-sourcing/","availableLanguages":["en","pl"]}},
    "staticQueryHashes": ["2742854296"]}