A good start is this article by Jay Kreps (Apache Kafka co-creator and Confluent co-founder) :
The Log: What every software engineer should know about real-time data's unifying abstraction : https://engineering.linkedin.com/distributed-systems/log-wha...