The document discusses how logs (LOG) can be used as the basis for many software systems and applications. It describes logs as sequentially recorded events that provide an immutable record of what happened over time. It then gives examples of how databases, version control systems, distributed systems, messaging, and many other areas are based on logs and benefit from their append-only, immutable nature. Logs allow sharing state, reaching consensus, and building deterministic, scalable, and maintainable systems.
5. Things based on LOG
● Database
● Version Control
● Distributed System and Distributed Consensus
● Synchronization
● Replication
● Messaging
● UI Framework
● ...And almost EVERYTHING
33. Flux/Redux
● Unidirectional Data Flow
○ Append only
○ Handle action one by one, reasonable
● Immutable State
○ Produce new state based on previous state and action
● Everything else can be stateless(pure)
35. LOG
● Fast and simple
● Can be used to share “current state”
● Text are easy to parse/understand, Universal Interface
● Append-only, easy to reason, everything else can be
stateless
RECAP
40. LOG AGREEMENT = CONSENSUS
Raft: A Consensus Algorithm for Replicated Logs
Apache Mesos - The Mesos Replicated Log (PAXOS)
41. LOG
● Fast and simple
● Can be used to share “current state”
● Text are easy to parse/understand, Universal Interface
● Append-only, Immutable, easy to reason, everything else
can be stateless
● Replicate log = consensus
RECAP
43. ● > PB
● Data coming from everywhere
○ User Input
○ Business Data
○ Tracking
○ External Data
● ETL(Extract-Transform-Load)
● Analysis, Machine Learning… etc
BIG Data
47. LOG
● Fast and simple
● Can be used to share “current state”
● Text are easy to parse/understand, Universal Interface
● Append-only, Immutable, easy to reason, everything else
can be stateless
● Replicate log = consensus
● High Scalability
RECAP