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
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
Linux System Programming by Robert Love.
UNIX System Calls, A. D. Marshall
Introduction to UNIX System Programming.
The lastest publically available version of the C99 standard