Appendix A. References
If you made it this far you know most of what I know about logs; here are a few interesting references you may want to check out.
Everyone seems to use different terms for the same things, so it is a bit of a puzzle to connect the database literature to the distributed systems stuff to the various enterprise software camps to the open source world. Nonetheless, here are a few pointers.
Academic Papers, Systems, Talks, and Blogs
- These are good overviews of state machine and primary-backup replication.
- PacificA is a generic framework for implementing log-based distributed storage systems at Microsoft.
- Spanner—Not everyone loves logical time for their logs. Google’s new database tries to use physical time and models the uncertainty of clock drift directly by treating the timestamp as a range.
- Datanomic: “Deconstructing the database” is a great presentation by Rich Hickey, the creator of Clojure, on his startup’s database product.
- “A Survey of Rollback-Recovery Protocols in Message-Passing Systems“—I found this to be a very helpful introduction to fault tolerance and the practical application of logs to recovery outside databases.
- “The Reactive Manifesto”—I’m actually not quite sure what is meant by reactive programming, but I think it means the same thing as “event driven.” This link doesn’t have much information, but this class by Martin Odersky (of Scala fame) looks fascinating.
- Leslie Lamport has an interesting history of how the algorithm was ...