Slide 16
Slide 16 text
Designing Data-Intensive Applications
Designing Data-Intensive Applications, 2nd Edition by Martin Kleppmann, Chris Riccomini, O'Reilly, 2025
Reliable
Scalable
Maintainable
The ability of a system to perform its required functions consistently
over time without failure.
● Data Integrity and Consistency
● Fault Tolerance and Error Handling
● Recoverability and Disaster Recovery
● Monitoring, Alerting, and Observability
● Security and Compliance
● Modular, Reusable, and Evolvable Design
● Standardization and Best Practices
● Simplicity and Ease of Understanding
● Configurability and Operability
● Comprehensive Documentation and Knowledge Sharing
● Version Control and Collaboration Practices
● Automated Testing and Validation
● Handling Increased Load and Concurrency
● Performance Optimization
● Dynamic Scaling Strategies and Resource Management
● Elasticity and Automated Scaling
● Reliability, Fault Tolerance, and Automation
The ease with which a data pipeline can be understood, modified,
extended, and troubleshooted over its lifecycle.
The system's ability to handle increasing amounts of data, higher
processing loads, and more complex transformations efficiently and
effectively.