ABSTRACT
Event sourcing is increasingly used and implemented in event-based systems for maintaining the evolution of application state. However, unbounded event logs are impracticable for many systems, as it is difficult to align scalability requirements and long-term runtime behavior with the corresponding storage requirements. To this end, we explore the design space of log pruning approaches suitable for event-sourced systems. Furthermore, we survey specific log pruning mechanisms for event-sourced logs. In a brief evaluation, we point out the trade-offs when applying pruning to event logs and highlight the applicability of log pruning to event-sourced systems.
- Gul Agha. 1986. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA, USA. Google ScholarCross Ref
- Dominic Betts, Julian Dominguez, Grigori Melnik, Fernando Simonazzi, and Mani Subramanian. 2013. Exploring CQRS and Event Sourcing: A journey into high scalability availability and maintainability with Windows Azure. Microsoft. Google ScholarDigital Library
- Jonas Boner, Dave Farley, Roland Kuhn, and Martin Thompson. 2014. The Reactive Manifesto. http://www.reactivemanifesto.org/. (Sept. 2014). Accessed: 2018-02-18.Google Scholar
- Paul C. Bryan and Mark Nottingham. 2015. JavaScript Object Notation (JSON) Patch. RFC 6902. (14 Oct. 2015).Google Scholar
- Benjamin Erb, Gerhard Habiger, and Franz J Hauck. 2016. On the potential of event sourcing for retroactive actor-based programming. In First Workshop on Programming Models and Languages for Distributed Computing. ACM. Google ScholarDigital Library
- Benjamin Erb, Dominik Meißner, Gerhard Habiger, Jakob Pietron, and Frank Kargl. 2017. Consistent Retrospective Snapshots in Distributed Event-sourced Systems. In Conference on Networked Systems. Göttingen, Germany.Google Scholar
- Benjamin Erb, Dominik Meißner, Jakob Pietron, and Frank Kargl. 2017. Chronograph: A Distributed Processing Platform for Online and Batch Computations on Event-sourced Graphs. In Proceedings of the 11th ACM International Conference on Distributed and Event-based Systems. ACM, New York, NY, USA, 78--87. Google ScholarDigital Library
- Martin Fowler. 2005. Event Sourcing. http://martinfowler.com/eaaDev/EventSourcing.html. (Dec. 2005). Accessed: 2018-04-23.Google Scholar
- Gregor Hohpe. 2006. Programming Without a Call Stack - Event-driven Architectures. Technical Report. eaipatterns.com.Google Scholar
- Ivo Jimenez, Michael Sevilla, Noah Watkins, Carlos Maltzahn, Jay Lofstead, Kathryn Mohror, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2017. The popper convention: Making reproducible systems evaluation practical. In Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2017 IEEE International. IEEE, 1561--1570.Google ScholarCross Ref
- Martin Kleppmann. 2017. Designing Data-Intensive Applications. O'Reilly.Google Scholar
- Luc Moreau, Paul Groth, Simon Miles, Javier Vazquez-Salceda, John Ibbotson, Sheng Jiang, Steve Munroe, Omer Rana, Andreas Schreiber, Victor Tan, and Laszlo Varga. 2008. The Provenance of Electronic Data. Commun. ACM 51, 4 (April 2008), 52--58. Google ScholarDigital Library
- J. Thönes. 2015. Microservices. IEEE Software 32, 1 (Jan 2015), 116--116.Google ScholarCross Ref
- Greg Young. 2010. CQRS Documents. https://cqrs.files.wordpress.com/2010/11/cqrs_documents.pdf. (Nov. 2010). Accessed: 2018-04-28.Google Scholar
Index Terms
Log Pruning in Distributed Event-sourced Systems
Recommendations
Performance Engineering in Distributed Event-sourced Systems
DEBS '18: Proceedings of the 12th ACM International Conference on Distributed and Event-based SystemsDistributed event-sourced systems adopt a fairly new architectural style for data-intensive applications that maintains the full history of the application state. However, the performance implications of such systems are not yet well explored, let alone ...
Towards Time Travel in Distributed Event-sourced Systems
DEBS '18: Proceedings of the 12th ACM International Conference on Distributed and Event-based SystemsStateful applications are based on the state they hold and how it changes over time. This history of state changes is usually discarded as the application progresses. By building on concepts from event processing and storing the application history we ...
Improving observability in Event Sourcing systems
AbstractEvent Sourcing (ES) systems use an event log with the double purpose of keeping application state and providing decoupled communication. While ES systems keep track of all business events, other untracked events, either from internal components ...
Highlights- Event Sourcing has the double purpose of keeping application state and providing decoupling between modules.
- Our proposal is improving the observability of the system.
- We make it possible to track all individual requests and their ...
Comments