diff --git a/README.md b/README.md index 0a47213..bcec8d4 100644 --- a/README.md +++ b/README.md @@ -71,22 +71,22 @@ You can also access this and all O'Reilly books online through the Snell library ## Modules -| Week | Topic | Section 1 | Section 2 | -| ---- | ------------------------------------------------------------------------------------------------------- | --------- | --------- | -| 1 | [Introduction to Scalable Distributed Systems](https://gortonator.github.io/bsds-6650/Week-1) | 9/12 | 9/13 | -| 2 | [Concurrency](http://gortonator.github.io/bsds-6650/Week-2) | 9/19 | 9/20 | -| 3 | [Distributed Systems Architecture Whirlwind Tour](http://gortonator.github.io/bsds-6650/Week-3) | 9/26 | 9/27 | -| 4 | [Distributed Systems Fundamentals](http://gortonator.github.io/bsds-6650/Week-4) | 10/3 | 10/4 | -| 5 | [Scalable Service Design](http://gortonator.github.io/bsds-6650/Week-5) | 10/10 | 10/11 | -| 6 | [Asynchronous Systems](http://gortonator.github.io/bsds-6650/Week-6) | 10/17 | 10/18 | -| 7 | [Serverless Processing Systems](http://gortonator.github.io/bsds-6650/Week-7) | 10/24 | 10/25 | -| 8 | [Microservices](http://gortonator.github.io/bsds-6650/Week-8) | 10/31 | 11/1 | -| 9 | [Data Replication, Partitioning and Eventual Consistency](http://gortonator.github.io/bsds-6650/Week-9) | 11/7 | 11/8 | -| 10 | [Strong Consistency and Distributed Databases](http://gortonator.github.io/bsds-6650/Week-10) | 11/14 | 11/15 | -| 11 | [NoSQL Databases](http://gortonator.github.io/bsds-6650/Week-11) | 11/21 | 11/22 | -| 12 | [Stream Processing](http://gortonator.github.io/bsds-6650/Week-12) | 11/28 | 11/29 | -| 13 | Final Quiz | 12/5 | 12/6 | -| 14 | Assignment 4 presentations | 12/12 | 12/13 | +| Week | Topic | Section 1 | Section 2 | +| ---- | -------------------------------------------------------------------------------------------------------------------- | --------- | --------- | +| 1 | [Introduction to Scalable Distributed Systems](https://gortonator.github.io/bsds-6650/Week-1) | 9/12 | 9/13 | +| 2 | [Concurrency](http://gortonator.github.io/bsds-6650/Week-2) | 9/19 | 9/20 | +| 3 | [Distributed Systems Architecture Whirlwind Tour](http://gortonator.github.io/bsds-6650/Week-3) | 9/26 | 9/27 | +| 4 | [Distributed Systems Fundamentals](http://gortonator.github.io/bsds-6650/Week-4) | 10/3 | 10/4 | +| 5 | [Scalable Service Design](http://gortonator.github.io/bsds-6650/Week-5) | 10/10 | 10/11 | +| 6 | [Asynchronous Systems](http://gortonator.github.io/bsds-6650/Week-6) | 10/17 | 10/18 | +| 7 | [Serverless Processing Systems](http://gortonator.github.io/bsds-6650/Week-7) | 10/24 | 10/25 | +| 8 | [Microservices](http://gortonator.github.io/bsds-6650/Week-8) | 10/31 | 11/1 | +| 9 | [Data Replication, Partitioning and Eventual Consistency Introduction](http://gortonator.github.io/bsds-6650/Week-9) | 11/7 | 11/8 | +| 10 | [Eventual Consistency](http://gortonator.github.io/bsds-6650/Week-10) | 11/14 | 11/15 | +| 11 | [Strong Consistency](http://gortonator.github.io/bsds-6650/Week-11) | 11/21 | 11/22 | +| 12 | [Stream Processing](http://gortonator.github.io/bsds-6650/Week-12) | 11/28 | 11/29 | +| 13 | Final Quiz | 12/5 | 12/6 | +| 14 | Assignment 4 presentations | 12/12 | 12/13 | ## Assignments @@ -95,7 +95,7 @@ Submission instructions and exact deadlines are on the course Canvas site. | Assignment | Topic | Due Date | | ---------- | ----------------------------------------------------------------------------------------------------- | -------- | | 1 | [Concurrency and Client-server](https://gortonator.github.io/bsds-6650/assignments-2022/Assignment-1) | 10/8 | -| 2 | [Persisting Data](https://gortonator.github.io/bsds-6650/assignments-2022/Assignment-2) | 11/5 | +| 2 | [Persisting Data](https://gortonator.github.io/bsds-6650/assignments-2022/Assignment-2) | 11/5 | | 3 | [Microservices](https://gortonator.github.io/bsds-6650/assignments-2022/Assignment-3) | 12/1 | | 4 | [Mix Request Loads](https://gortonator.github.io/bsds-6650/assignments-2022/Assignment-4) | 12/15 | diff --git a/Week-10.md b/Week-10.md index ecff2af..bc757d2 100644 --- a/Week-10.md +++ b/Week-10.md @@ -1,11 +1,10 @@ -# Week 10: Strong Consistency and Distributed Databases +# Week 10: Eventual Consistency ## Learning Objectives -1. Explain how 2 phase commit works and how it handles failures -2. Explain the implications of the FLP result -3. Describe the Raft consensus algorithm -4. Explain causal consistency in Neo4j +1. Explain the need for read-your-writes consistency +2. Be able to select tunable consitency settings to meet use case needs +3. Explain the role of version vectors and logical clocks in conflict resolution ## Mandatory Lecture Materials @@ -15,7 +14,7 @@ Video lessons for the materials are [here](https://sites.google.com/view/scalab ## Mandatory Reading -1. Chapter 12 of course book +1. Chapter 11 of course book 2. Chapter 9, Designing Data-Intensive Applications, Martin Kleppmann, O'Reilly Publishing (available online at Snell library) ## Optional Reading diff --git a/Week-11.md b/Week-11.md index a1d1b91..081999a 100644 --- a/Week-11.md +++ b/Week-11.md @@ -1,30 +1,36 @@ -# Week 11: NoSQL Databases +# Week 11: Strong Consistency ## Learning Objectives -To DO +1. Explain the two phase commit protocol + +2. Define serialization and linearizability + +3. Explain the RAFT Comsensus Algorithm ## Module Outline TO DO ## Lectures + TO DO ## Mandatory Reading -1. Chapter 13 of course book - Distributed Database Implementations +1. Chapter 12 and 13 of course book - Distributed Database Implementations ## Optional Reading + 1. [A nice explanation of the complexities of consistent hashing in practise](https://ably.com/blog/implementing-efficient-consistent-hashing) -1. [Comparing Riak with the original Dynamo paper](https://docs.riak.com/riak/kv/2.2.2/learn/dynamo/) +2. [Comparing Riak with the original Dynamo paper](https://docs.riak.com/riak/kv/2.2.2/learn/dynamo/) 3. [MongoDB 4.2 Architecture](https://info-mongodb-com.s3.us-east-1.amazonaws.com/MongoDB_Architecture_Guide.pdf) 4. [CAP Theorem explained](https://dzone.com/articles/understanding-the-cap-theorem) ## Labs ### Lab 11. : Consistent Hashing Exerise + [Study and extend a simple consistent hashing implementation](https://gortonator.github.io/bsds-6650/labs/lab-11) [Back to Course Home Page](https://gortonator.github.io/bsds-6650/) -