Week 9: Scaling the Data Layer - Fundamentals

CS6650 Building Scalable Distributed Systems

Week 9: Scaling the Data Layer - Fundamentals

Learning Objectives

  1. Explain the difficulties of scaling relational databases
  2. Describe the advantages and disadvantages of partitioning and replication
  3. Describe the strengths and weaknesses of distributed database architectures
  4. Explain how consistency and conflicts are handled in leaderless systems

Mandatory Lecture Materials

Slides are on Canvas.

Video lessons for the materials are here

Mandatory Reading

Chapters 10 and 11 of course book

Optional Reading/Viewing

  1. Chapter 5 and 6, Designing Data-Intensive Applications, Martin Kleppmann, O’Reilly Publishing (available online at Snell library)
  2. Scaling Relational Databases on AWS
  3. Excellent talk on Scalability and benchmarking for SyllaDB - Powering Real-Time Apps with ScyllaDB: Low Latency & Linear Scalability - YouTube](https://youtu.be/-84JH4lqKM8) - recommeded!
  4. A good general distribued architecture talk
  5. This video is a deep dive into conflict resolution for you algos nerds :)
  6. Excellent article about how Slack scale their MySQL layer

Labs

Lab 9 Experiment with Lamport Clocks

Back to Course Home Page