Browse Definitions :
Definition

event sourcing

Contributor(s): Laura Fitzgibbons

Event sourcing is a coding practice used by computer programmers to model a system as a sequence of events in order to identify the changes made over time. Instead of using the traditional method of creating a program entity out of the application's current state, event sourcing stores business objects as a string of state-changing events. Whenever an object changes, a new event is appended to the event stream.

Event sourcing helps developers maintain consistency and integrity of an application. Having a complete history of object states allows for mistakes to easily be corrected, information loss to be reconstructed and code to be easily debugged. Stored events include state-altering actions such as mouse clicks, electronic inputs and key strikes.

Benefits of event sourcing

Event sourcing is a useful tool when a programmer wants to recreate a specific occurrence identically and persist it to various destinations within a network. Benefits of event sourcing include:

  • The ability to completely discard and rebuild an application by running the event stream on an empty application state.
  • Event log capabilities such as replaying, reversing and changing the order.
  • Convenience with modeling or predicting various behaviors and outcomes of an application.
  • Ensures better system reliability.
  • The ability to simply implement temporal queries.
  • Organizes system updates and patches.
  • Enables more accurate audit logging.

Applications of event sourcing

Event sourcing can be applied whenever a system would normally capture the state of a specific event. It is generally applied as part of a local use, such as a network or computer that is part of a single system. However, it is also possible to perpetuate information about events that are gathered from external systems.

A common example of an event sourcing application is a version control system. This type of system relies on frequent temporal queries and the ability to completely rebuild repository files.

The event replay capability of event sourcing is often used to remedy events that were received in the wrong order, a common issue with asynchronous messaging.

This was last updated in January 2019

Continue Reading About event sourcing

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

How has event sourcing helped you to make your workflows more efficient?
Cancel

-ADS BY GOOGLE

File Extensions and File Formats

SearchCompliance

  • risk management

    Risk management is the process of identifying, assessing and controlling threats to an organization's capital and earnings.

  • compliance as a service (CaaS)

    Compliance as a Service (CaaS) is a cloud service service level agreement (SLA) that specified how a managed service provider (...

  • data protection impact assessment (DPIA)

    A data protection impact assessment (DPIA) is a process designed to help organizations determine how data processing systems, ...

SearchSecurity

  • Web application firewall (WAF)

    A web application firewall (WAF) is a firewall that monitors, filters and blocks data packets as they travel to and from a ...

  • spyware

    Spyware is a type of malicious software -- or malware -- that is installed on a computing device without the end user's knowledge.

  • application whitelisting

    Application whitelisting is the practice of specifying an index of approved software applications or executable files that are ...

SearchHealthIT

SearchDisasterRecovery

  • business continuity plan (BCP)

    A business continuity plan (BCP) is a document that consists of the critical information an organization needs to continue ...

  • disaster recovery team

    A disaster recovery team is a group of individuals focused on planning, implementing, maintaining, auditing and testing an ...

  • cloud insurance

    Cloud insurance is any type of financial or data protection obtained by a cloud service provider. 

SearchStorage

  • DRAM (dynamic random access memory)

    Dynamic random access memory (DRAM) is a type of semiconductor memory that is typically used for the data or program code needed ...

  • RAID 10 (RAID 1+0)

    RAID 10, also known as RAID 1+0, is a RAID configuration that combines disk mirroring and disk striping to protect data.

  • PCIe SSD (PCIe solid-state drive)

    A PCIe SSD (PCIe solid-state drive) is a high-speed expansion card that attaches a computer to its peripherals.

Close