- Scalability
- Maintainability
- Efficiency
- Reliability
- Moving Data
- Storing Data
- access patterns
- indexing strategies
- backup solutions
- Transforming Data - Taking raw data and turning it into a meaningful information
- Consistency
- Availability
- Partition Tolerance
Example a banking system should always be consistent and partition tolerant even though comprimising sometimes availability or taking some transactions long.