Lecture Notes

01Introduction Notes [PDF] Handout [PDF]

02Distributed Database Design Notes [PDF] Handout [PDF]

03Query Processing Notes [PDF] Handout [PDF]

04Query Optimization Notes [PDF] Handout [PDF]

05Concurrency Control Notes [PDF] Handout [PDF]

06Reliability Notes [PDF] Handout [PDF]

07Replication Notes [PDF] Handout [PDF]

08Network Partitions Notes [PDF] Handout [PDF]

09Peer-to-Peer Systems Notes [PDF] Handout [PDF]

10Publish/Subscribe Systems Notes [PDF] Handout [PDF]

11MapReduce Notes [PDF] Handout [PDF]

12Distributed Information Retrieval Notes [PDF] Handout [PDF]

13Distributed Column Stores Notes [PDF] Handout [PDF]

14Distributed Graph Processing Notes [PDF] Handout [PDF]

15Time & Clocks Notes [PDF] Handout [PDF]

16Conclusion Notes [PDF] Handout [PDF]

G1Guest Lecture: Spanner (notes unavailable, see 5/18 video instead)

G2Guest Lecture: Spark Notes [PDF] Handout [PDF]

G3Guest Lecture: Instabase Notes [PDF] Handout [PDF]

R1Review: Indexing and Query Optimization Notes [PDF]

R2Review: Concurrency Control and Failure Recovery Notes [PDF]


Paxos (removed)


Sample Midterm (removed)

Midterm (removed)

Sample Final (removed)

Reading List

There is no required textbook for this class.

Optional Research Papers

Distributed Database Design

  • S. Kadambi, J. Chen, B.F. Cooper, D. Lomax, R. Ramakrishnan, A. Silberstein, E. Tam, H. Garcia-Molina. Where in the World Is My Data? Proc. of the VLDB Endowment, 2011 [PDF]

Query Processing

  • R. Agrawal, A. Evfimievski, R. Srikant. Information Sharing Across Private Databases. Proc. of SIGMOD, 2003 [PDF]

Concurrency Control

  • L. Lamport. Paxos Made Simple. Microsoft Research Technical Report, 2001 [PDF]
  • D. Ongaro, J. Ousterhout. In Search of an Understandable Consensus Algorithm. Proc. of USENIX ATC, 2014 [PDF]
  • M. Fisher, N. Lynch, M. Paterson. Impossibility of Distributed Consensus with One Faulty Process. Journal of the ACM, 1985 [PDF]
  • E. Brewer. CAP Twelve Years Later: How the "Rules" Have Changed. Computer Magazine, 2012 [PDF]

Peer-to-Peer Systems

  • I. Stoica, R. Morris, D. Karger, M. Frans Kaashoek, H. Balakrishnan. Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. Proc. of SIGCOMM, 2001 [PDF]

Distributed Data Stores

  • F. Chang, J. Dean, S. Ghemawat, W.C. Hsieh, D.A. Wallach, M. Burrows, T. Chandra, A. Fikes, R.E. Gruber. Bigtable: A Distributed Storage System for Structured Data. Proc. of OSDI, 2006 [PDF]
  • A. Lakshman, P. Malik. Cassandra: A Decentralized Structured Storage System. ACM SIGOPS, 2010 [PDF]
  • J.C. Corbett et al. Spanner: Google's Globally-Distributed Database. Proc. of SIGCOMM, 2001 [PDF]

Distributed Data Processing

  • J. Dean, S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Proc. of OSDI, 2004 [PDF]
  • C. Olston, B. Reed, U. Srivastava, R. Kumar, A. Tomkins. Pig Latin: A Not-So-Foreign Language for Data Processing. Proc. of SIGMOD, 2008 [PDF]
  • A. Thusoo, J. Sen Sarma, N. Jain, Z. Shao, P. Chakka, S. Anthony, H. Liu, P. Wycoff, R. Murthy. Hive: A Warehousing Solution Over a MapReduce Framework. Proc. of the VLDB Endowment, 2009 [PDF]
  • M. Zaharia, M. Chowdhury, M.J. Franklin, S. Shenker, I. Stoica. Spark: Cluster Computing with Working Sets. Proc. of HotCloud, 2010 [PDF]
  • G. Malewicz, M.H. Austern, A.J.C. Bik, J.C. Dehnert, I. Horn, N. Leiser, G. Czajkowski. Pregel: A System for Large-Scale Graph Processing. Proc. of SIGMOD, 2010 [PDF]
  • J. Gonzalez, R.S. Xin, A. Dave, D. Crankshaw, M.J. Franklin, I. Stoica. GraphX: Graph Processing in a Distributed Dataflow Framework. Proc. of OSDI, 2014 [PDF]

Time & Clocks

  • L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Comm. of the ACM, 1978 [PDF]


Mondays and Wednesdays 1:30pm - 2:50pm
Huang Engineering Center 018


Instructor: Zoltan Fern
Email: zoltan@cs.stanford.edu
Office Hours: Mondays 3pm - 4pm / Gates 459

Course Assistant: Neeral Dodhia
Email: neeral@stanford.edu
Office Hours: Wednesdays 11:30am - 1:30pm / Huang basement

Course Assistant: Lili Yang
Email: yangl369@stanford.edu
Office Hours: Wednesdays 11:30am - 1:30pm / Huang basement


Discussion Group: Piazza