Please enable JavaScript.
Coggle requires JavaScript to display documents.
Data-intensive app requirements - Coggle Diagram
Data-intensive app requirements
Non-functional
Security
Reliability
Faults
Hardware Faults
Random and uncorrelated
Add redundancy to the individual components + software fault-tolerance techniques
Software Errors
Systematic and hard to deal with
Software bug
Cascading failures
Shared resource
System denendency
Carefully thinking, testing, process isolation, minimize opportunities for error
Human Errors
Inevitable mistakes from time to time
How important is reliability?
Lots of revenue and damage of reputation
Ability of the system to continue work correctly when some kind of faults happen
Compliance
Scalability
Describing Load
Load parameters: requests per second, the ratio of the reads, number of simultaneously active users, hit rate on a cache
Describing Performance
Response time
Throughput
Approaches for Coping with Load
Ability of the system to cope with increasing load
Compatibility
Mainatinability
Operability
Good abstraction to reduce complexity
Simplicity
TDD + refactoring
Evolvability = agility
Making life better for engineering and operations teams who need to work with the system
Functional
Allow data to be stored and retrieved
Search
Process