Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/basilysf1709/distributed-systems

Comprehensive guide, algorithms and tools on distributed systems
https://github.com/basilysf1709/distributed-systems

algorithms distributed-systems system-design

Last synced: 6 days ago
JSON representation

Comprehensive guide, algorithms and tools on distributed systems

Awesome Lists containing this project

README

        

# 🌐 Distributed Systems


Status: In Progress
Last Update
Contributions Welcome

## 📚 The Absolute Best Book: Designing Data-Intensive Applications

Screenshot 1446-01-19 at 2 04 02 PM

### Chapters

1. [Reliable, Scalable, and Maintainable Applications](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch1)
2. [Data Models and Query Languages](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch2)
3. [Storage and Retrieval](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch3)
4. [Encoding and Evolution](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch4)
5. [Replication](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch5)
6. [Partitioning](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch6)
7. [Transactions](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch7)
8. [The Trouble with Distributed Systems](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch8)
9. [Consistency and Consensus](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch9)
10. [Batch Processing](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch10)
11. [Stream Processing](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch11)
12. [The Future of Data Systems](https://github.com/basilysf1709/distributed-systems/tree/main/designing-data-intensive-applications/Ch12)

📖 [Access the full book here](https://github.com/user-attachments/files/16344190/Designing.Data.Intensive.Applications.pdf)

---

## 🎓 MIT's Distributed Systems Course

🔗 [Watch the full course](https://www.youtube.com/watch?v=cQP8WApzIQQ&list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB)

---

## 📘 High-Quality Resources

- 📑 [Dynamo: Amazon's Highly Available Key-value Store](https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf)
- 🛢 [Tabular Comparison of Key Value Stores](https://github.com/basilysf1709/distributed-systems/tree/main/databases)

---

## 💻 Practical Learnings

- [✅ Kubernetes: A Basic Overview](https://www.youtube.com/watch?v=X48VuDVv0do)
- [✅ Systems Design Interviews - Alex Xu](https://github.com/basilysf1709/distributed-systems/tree/main/system-design-interviews/Summary)

---

## 💻 Algorithms

- [Consistent Hashing in Zig](https://github.com/basilysf1709/distributed-systems/tree/main/algorithms/consistent-hashing)
- [Hinted Handoff in Zig](https://github.com/basilysf1709/distributed-systems/tree/main/algorithms/hinted-handoff)

---

## 📊 Learning Roadmap

```mermaid
graph TD
A[Distributed Systems] --> B[Fundamentals]
A --> C[Advanced Topics]
A --> D[Database Evolution]
A --> E[Modern Infrastructure]

B --> F[Key Concepts]
B --> G[Landmark Papers]
B --> H[Distributed Algorithms]

C --> I[System Design Patterns]
C --> J[Streaming Systems]
C --> K[Machine Learning in Distributed Systems]
C --> L[Monitoring and Tracing]

D --> M[Relational Databases]
D --> N[NoSQL Movement]
D --> O[NewSQL]

E --> P[Containerization]
E --> Q[Serverless Computing]
E --> R[Service Mesh]

N --> S[Document Stores]
N --> T[Key-Value Stores]
N --> U[Column-Family Stores]
N --> V[Graph Databases]

F --> W[CAP Theorem]
F --> X[Consensus]
F --> Y[Replication]
F --> Z[Partitioning]

G --> AA[Google File System]
G --> AB[MapReduce]
G --> AC[BigTable]
G --> AD[Dynamo]

H --> AE[Paxos]
H --> AF[Raft]
H --> AG[Two-Phase Commit]

I --> AH[SAGA Pattern]
I --> AI[Event Sourcing]
I --> AJ[CQRS]

J --> AK[Kafka]
J --> AL[Flink]

L --> AM[Prometheus]
L --> AN[Jaeger]

O --> AO[Google Spanner]
O --> AP[CockroachDB]

P --> AQ[Docker]
P --> AR[Kubernetes]
```

---

## Systems Design Handbook

![GVmHsYDWsAA9oWY](https://github.com/user-attachments/assets/4e2b1412-d0a9-4276-b9a1-7772fc099f74)

## Star History



Star History Chart


Happy learning! May your distributed systems knowledge scale infinitely! 🚀