- Reliable, Scalable, and Maintainable Applications
- Data Models and Query Languages
- Storage and Retrieval
- Encoding and Evolution
- Replication
- Partitioning
- Transactions
- The Trouble with Distributed Systems
- Consistency and Consensus
- Batch Processing
- Stream Processing
- The Future of Data Systems
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]
Happy learning! May your distributed systems knowledge scale infinitely! 🚀