Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/basilysf1709/distributed-systems
- Owner: basilysf1709
- License: mit
- Created: 2024-07-23T05:32:27.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-08T17:58:45.000Z (3 months ago)
- Last Synced: 2024-12-08T15:34:30.703Z (13 days ago)
- Topics: algorithms, distributed-systems, system-design
- Language: Zig
- Homepage:
- Size: 812 KB
- Stars: 191
- Watchers: 5
- Forks: 16
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# 🌐 Distributed Systems
## 📚 The Absolute Best Book: Designing Data-Intensive Applications
### 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
Happy learning! May your distributed systems knowledge scale infinitely! 🚀