Thinking in Events: From Databases to Distributed Collaboration Software
Martin Kleppmann
Keynote at 15th ACM International Conference on Distributed and Event-based Systems (DEBS),
Online (originally planned to be in Milan, Italy),
July 2021.
Abstract
In this keynote I give a subjective but systematic overview of the landscape of distributed
event-based systems, with an emphasis on two areas I have worked on over the last decade:
large-scale stream processing with Apache Kafka and associated tools, and real-time collaboration
software in the style of Google Docs. While these may seem at first glance to be very different
topics, there are also important points of overlap. This paper lays out a taxonomy of event-based
systems that shows where their commonalities and differences lie. It also highlights some of the key
trade-offs that arise in the implementation of event-based systems, drawing both from distributed
systems theory and from experience of their practical deployment, and outlines a number of open
research problems.