New Book Review: "Making Sense of Stream Processing"
New book review for Making Sense of Stream Processing: The Philosophy Behind Apache Kafka and Scalable Stream Data Platforms, by Martin Kleppmann, O'Reilly, 2016:


Copy provided by O'Reilly.
My first exposure to author Martin Kleppmann was at his Strange Loop 2014 talk in St Louis, Missouri entitled "Turning the Database Inside Out with Apache Samza". The reason this talk is of relevance is because Samza is a distributed stream processing framework developed at LinkedIn that is in the words of Kleppmann "a surreptitious attempt to take the database architecture we know, and turn it inside out", using Apache Kafka at its core for use as a distributed, durable commit log.
After discussing events and stream processing in Chapter 1, and using logs to build a solid data architecture in Chapter 2, the author discusses integrating databases and Kafka with change data capture (CDC) in Chapter 3, and the "Unix philosophy" of distributed data in Chapter 4, followed by the text version of the Strange Loop 2014 talk in Chapter 5. This freely available text is probably one of the most organized that I have seen from O'Reilly as of late, although readers will need to keep in mind that the last chapter comprises material from 2 years ago. Other than organization and readability, another aspect of this book that other architects such as myself will probably appreciate is the high number of diagrams. While many of these diagrams are drawn at a high level, just remember that this presentation covers practical architecture, with no ivory tower nonsense.