Abstract
While the concept of a log is certainly not a new concept in computer science, until recently logs have been used as a part of an application, typically for crash recovery purposes or sometimes for auditing/debugging purposes. More recently, logs have been emerging as a first class storage concept in and of themselves, being used in distributed environments as a mechanism for communication, as a mechanism of persistence and recovery for services, and as an enabler for query optimized data structures in complex systems. This tutorial will cover the history of log storage, starting with its use in databases and transaction logs, will contrast log storage vs block, file, and object storage, and then will examine the role of log storage in distributed systems and microservice environments via event logs and CQRS patterns (Command Query Responsibility Separation).