Event streaming and event sourcing are both becoming increasingly popular paradigms. However, data practitioners and developers often conflate these methods and consequently, may adopt the wrong tool when implementing event sourcing. In this post, Oskar Dudycz explains that event sourcing is a technique wherein state is represented by applying business logic to a series of events. In contrast, event streaming is a technique to move data (events) from source to sink. Because event streaming systems like Kafka were not designed as durable databases, they may not meet the requirements (e.g. for atomicity, optimistic concurrency) of event sourcing.