CS75 Lecture 9 Scalability
Harvard Web Development David Malan
In it, professor David Malan from Harvard is teaching a huge part of the intuition you will need to have when it comes to scalability. So start here, watch the video and make sure you understand it well.
After watching it, you should have a good fundamental understanding of the following concepts:
- horizontal scaling (13:00 - 21:00)
- load balancing & caching (21:00 – 29:00)
- shared session state (29:00 – 34:00)
- RAID (36:00 – 40:00)
- shared storage tech (42:00)
- database replication (43:00)
- load balancing tech (44:00 – 45:00)
- session affinity (46:00 – 51:00)
- in-memory caching (59:00 – 1:00:00)
- data replication – active:passive (1:11:00 - 1:14:00) active:active (1:16:00 - 1:21:00)
- partitioning (1:21:00 – 1:34:00)
- data center redundancy (1:33:00 – 1:39:00)
- security (1:39:00 – 1:44:00)
Next, we recommend reading this great 4-post “Scalability for Dummies” tutorial (part 1|part 2|part 3|part 4). It reiterates on some of the topics mentioned above, but also introduces several important new concepts:
- Using NoSQL instead of scaling a relational database
- Being asynchronous
You would also know how to deal with the two major bottlenecks: handling a lot of users, and handling a lot of data.
Finally, you may want to read this tutorial on Database sharding. It's a very common and powerful way of database scaling (as you learned from prof. Malan's lecture).