Hall of FameJay Kreps201354 min readintermediate
The Log: What every software engineer should know about real-time data's unifying abstraction
Summary
The log is a simple, append-only, totally-ordered sequence of records, fundamental to distributed systems and databases. It serves as a unifying abstraction for data integration, real-time processing, and building consistent systems by providing a shared, ordered history of events.
- A log is an append-only, totally-ordered sequence of records, indexed by a unique sequential number.
- Logs are central to database ACID properties, ensuring durability and enabling replication via log shipping.
- The State Machine Replication Principle uses logs to feed identical, deterministic processes the same ordered inputs for consistency.
- Logs provide a robust mechanism for data integration, real-time processing, and building fault-tolerant distributed systems.
Engineers building or operating distributed data systems should understand logs as they are the foundational abstraction for consistency, replication, and fault tolerance.
9/10
