Transactions vs. Analytics in Apache Kafka

Workloads for analytics and transactions have very unlike characteristics and requirements. The use cases differ significantly. SLAs are very different, too. Many people think that Apache Kafka is not built for transactions and should only be used for big data analytics. This blog post explores when and how to use Kafka in resilient, mission-critical architectures and when to use the built-in Transaction API.

Analytical and Transactional Workloads

Let's begin by defining the terms. The YouTube channel 'Databases Demystified' has a great episode: Analytical vs. Transactional. I use and enhance its explanation in the following subsections.