Database Design and Architecture
- Concurrency Control and Recovery in database systems by Bernstein, Hadzilacos, and Goodman
- Transaction Processing by Jim Gray and Andreas Reuter
- Transactional Information Systems by Weikum and Vossen
- Readings in Database Systems 4th Edition, Edited by Joseph M. Hellerstein and Michael Stonebraker.
- Database Systems: The Complete Book 2nd Edition by Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom
Distributed Systems, Replication and Dependability
- Understanding replication in databases and distributed systems. by M. Wiesmann, F. Pedone, A. Schiper, B. Kemme, and G. Alonso
- Database replication techniques: a three parameter classification. by M. Wiesmann, F. Pedone, A. Schiper, B. Kemme, and G. Alonso
- Introduction to Reliable Distributed Programming. by Rachid Guerraoui and Luís Rodrigues
- The database state machine approach. by Fernando Pedone, Rachid Guerraoui, and Andre Schiper
- Gorda: An open architecture for database replication. by A. Correia, J. Pereira, L. Rodrigues, N. Carvalho, R. Vilaca, R. Oliveira
- Don’t be lazy, be consistent: Postgres-r, a new way to implement database replication. by Bettina Kemme and Gustavo Alonso
- Towards a generic group communication service. by Nuno Carvalho, José Luís and Rodrigues
- Group communication specifications: a comprehensive study. by Gregory V. Chockler, Idit Keidar, and Roman Vitenberg
- Database replication using generalized snapshot isolation. by S. Elnikety, F. Pedone, and W. Zwaenepoel
- Revisiting the database state machine approach. by Vaid Zuikeviciute and Fernando Pedone
- A critique of ansi sql isolation levels, Hal Berenson, Phil Bernstein, Jim Gray, Jim Melton, Elizabeth O’Neil, and Patrick O’Neil.
- In Search of an Understandable Consensus Algorithm, Diego Ongaro and John Ousterhout
- Paxos Made Simple, Leslie Lamport
- The Part-time Parliament, Leslie Lamport (Original Paxos paper)
- Session Guarantees for Weakly Consistent Replicated Data, Peter Bailis, Alan Fekete, Ali Ghodsi, Joseph M. Hellerstein, Ion Stoica
C and C++ Programming
- C++ Coding Standards by Herb Sutter and Andrei Alexandrescu
- Exceptional C++ Style by Herb Sutter
- Effective C++ by Scott Meyers
- More Effective C++ by Scott Meyers
- Effective STL by Scott Meyers
- Deep C
- Programming with POSIX Threads by David R. Butenhof
- Hacker's Delight by Henry S. Warren, Jr.
- The Algorithm Design Manual by Steven S. Skiena
- Introduction to Algorithms by Thomas H. Cormen et al.
- Distributed Algorithms by Nancy A. Lynch.
- Distributed Systems for System Architects by Paulo Veríssimo and Luís Rodrigues.
- UNIX Network Programming, Volume 2, Interprocess Communications by Richard Stevens.
- UNIX Network Programming, Volume 1, Networking APIs: Sockets and XTI by Richard Stevens.
- Advanced Programming in the UNIX Environment by Richard Stevens.
- Computer Systems - A Programmer's Perspective 2nd Edition by Randal E. Bryant, David R. O’Hallaron
- What every programmer should know about memory by Ulrich Drepper
Performance Analysis and Experimental Design
- The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling by R. K. Jain