Notes on Designing Data-Intensive Applications
Designing Data-Intensive Applications
- 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