I am a researcher at the University of Cambridge, working on the TRVE DATA project at the intersection of databases, distributed systems, and information security.
Hello!
I’m Dr. Martin Kleppmann. I do various things:
- I am a Senior Research Associate and Affiliated Lecturer at the University of Cambridge Department of Computer Science and Technology, funded by a Leverhulme Trust Early Career Fellowship and the Isaac Newton Trust. I work on local-first collaboration software and distributed systems security.
- I am also a Fellow and Director of Studies for Computer Science at Corpus Christi College, Cambridge, where I am involved in undergraduate teaching.
- In 2017 I published a book for O’Reilly, called Designing Data-Intensive Applications. It covers the architecture of a broad range of databases and distributed data processing systems, and it is one of the best-selling titles in the publisher’s entire catalogue.
- I am a regular speaker at conferences, and recordings of my talks have been watched over 150,000 times.
- I have worked on various open source projects including Automerge, Apache Avro, and Apache Samza.
- Between 2007 and 2014 I was an industrial software engineer and entrepreneur. I co-founded Rapportive (acquired by LinkedIn in 2012) and Go Test It (acquired by Red Gate Software in 2009).
- I have composed several musical works, including “Die Türme des Februar” (in German), a musical-dramatic adaptation of the book by Tonke Dragt, which premiered in 2007 with a cast of 150 people.
Feel free to contact me.
Recent blog posts
Things I have written recently.
- 30 Oct 2019: Research update for 2019
- 27 Jun 2019: Figuring out the future of distributed data systems (interview)
- 18 Jan 2018: Should you put several event types in the same Kafka topic?
- 15 Mar 2017: Drawing a map of distributed data systems
- 26 Jan 2017: The probability of data loss in large clusters
- Full archive
Highlights
Older articles that have remained popular.
- 08 Feb 2016: How to do distributed locking
- 11 May 2015: Please stop calling databases CP or AP
- 04 Mar 2015: Turning the database inside-out with Apache Samza
- 25 Nov 2014: Hermitage: Testing the “I” in ACID
- 05 Dec 2012: Schema evolution in Avro, Protocol Buffers and Thrift
- 07 Mar 2011: Accounting for Computer Scientists
- 05 May 2010: Valuation caps on convertible notes, explained with graphs
Conference talks
Events where I will be speaking or have spoken.
- 08 Nov 2019 at Code Mesh
- 02 Oct 2019 at Tagung über Tonke Dragts Jugendromane
- 14 Sep 2019 at Strange Loop
- 11 Jul 2019 at Hydra distributed computing conference
- 07 Jun 2019 at TNG Big Techday
- Full archive
Publications
Books:
- Martin Kleppmann: “Designing Data-Intensive Applications”. O’Reilly Media, March 2017.
Peer-reviewed journal papers:
- Stephan A. Kollmann, Martin Kleppmann, and Alastair R. Beresford: “Snapdoc: Authenticated snapshots with history privacy in peer-to-peer collaborative editing”. Proceedings on Privacy Enhancing Technologies (PoPETS), Vol. 2019, Issue 3, July 2019. doi:10.2478/popets-2019-0044
- Martin Kleppmann, Alastair R. Beresford, and Boerge Svingen: “Online Event Processing: Achieving consistency where distributed transactions have failed”. Communications of the ACM, Volume 62, Issue 5, pages 43-49, May 2019. doi:10.1145/3312527
- Victor B. F. Gomes, Martin Kleppmann, Dominic P. Mulligan, and Alastair R. Beresford: “Verifying Strong Eventual Consistency in Distributed Systems”. Proceedings of the ACM on Programming Languages (PACMPL), Vol. 1, OOPSLA, Article 109, October 2017. doi:10.1145/3133933 — Distinguished Paper Award and Distinguished Artifact Award! :-)
- Martin Kleppmann and Alastair R. Beresford: “A Conflict-Free Replicated JSON Datatype”. IEEE Transactions on Parallel and Distributed Systems 28(10):2733–2746, April 2017. doi:10.1109/TPDS.2017.2697382
Peer-reviewed conference and workshop papers:
- Martin Kleppmann, Adam Wiggins, Peter van Hardenberg, and Mark McGranaghan: “Local-first software: You own your data, in spite of the cloud”. ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! ’19), October 2019. doi:10.1145/3359591.3359737
- Diana A. Vasile, Martin Kleppmann, Daniel R. Thomas, and Alastair R. Beresford: “Ghost trace on the wire? Using key evidence for informed decisions”. 27th International Workshop on Security Protocols, April 2019.
- Martin Kleppmann, Victor B. F. Gomes, Dominic P. Mulligan, and Alastair R. Beresford: “Interleaving anomalies in collaborative text editors”. 6th Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC), March 2019. doi:10.1145/3301419.3323972
- Martin Kleppmann, Stephan A. Kollmann, Diana A. Vasile and Alastair R. Beresford: “From Secure Messaging to Secure Collaboration”. 26th International Workshop on Security Protocols, March 2018. doi:10.1007/978-3-030-03251-7_21
- Martin Kleppmann and Conrad Irwin: “Strengthening public key authentication against key theft”. 9th International Conference on Passwords, December 2015. doi:10.1007/978-3-319-29938-9_9
Invited papers, book chapters, and reports:
- Martin Kleppmann, Victor B. F. Gomes, Dominic P. Mulligan, and Alastair R. Beresford: “OpSets: Sequential Specifications for Replicated Datatypes (Extended Version)”. arXiv:1805.04263 [cs.DC], May 2018.
- Martin Kleppmann, Victor B. F. Gomes, Dominic P. Mulligan, and Alastair R. Beresford: “OpSets: Sequential Specifications for Replicated Datatypes (Proof Document)”. Archive of Formal Proofs, May 2018.
- Martin Kleppmann: “Apache Samza”. In: Encyclopedia of Big Data Technologies, Springer, March 2018. doi:10.1007/978-3-319-63962-8_197-2
- Victor B. F. Gomes, Martin Kleppmann, Dominic P. Mulligan, and Alastair R. Beresford: “A framework for establishing Strong Eventual Consistency for Conflict-free Replicated Datatypes”. Archive of Formal Proofs, July 2017.
- Alistair R Beresford and Martin Kleppmann: “Data Governance and Modern Computer Systems”. British Academy and Royal Society workshop on the governance of data and its uses, July 2016.
- Martin Kleppmann: “Making Sense of Stream Processing”. O’Reilly Media, May 2016.
- Martin Kleppmann and Jay Kreps: “Kafka, Samza and the Unix philosophy of distributed data”. IEEE Data Engineering Bulletin 38(4):4–14, December 2015.
- Martin Kleppmann: “A critique of the CAP theorem”. arXiv:1509.05393 [cs.DC], September 2015.
- Martin Kleppmann: “Simulation of colliding constrained rigid bodies”. University of Cambridge, Computer Laboratory, Tech Report UCAM-CL-TR-683, April 2007. — Prize for best undergraduate dissertation! :-)