Data Intensive Applications Flashcards
How was data historically stored?
Data was stored in single serve systems, with the data being static and not changing in data structure. These systems would require specialised personnel to maintain them.
What are the limitations of a single server system?
It has low availability and fault tolerance,, as if one thing goes down everything is affected, it can’t easily be scaled, it is difficult to make big changes to the system. his all makes it very hard for companies to change in response to demand.
What functionality is required of a data system?
Caching, Indexing, Batch Processing, must act as a database.
What is caching?
The ability of a system to store results of expensive operitons to allow for quick access later.
What is indexing?
The ability fo a system to allow users to efficiently search the data.
What is batch processing?
The ability of a system to run specific routines on large amounts of data.
What does it mean for a system to be a database?
The system can store data so that it can be retrieved later.
What does it mean for a system to be reliable?
A system that performs the functions a user expected, can tolerate user errors, has good enough performance for the required use case under the expected load and data volume, prevents unauthorised access and abuse.
What is a resilient system?
A system that can cope with increased load and is capable of handling and dealing with faults and problems. A system that doesn’t crash.
What is a fault?
When one component of the system works in an unexpected way.
What is a failure?
When the entire system stops providing the service
What are the main differences between hardware and software faults?
Hardware faults are expected, and systems are designed to account for these. Software faults are harder to anticipate and can present on many nodes of a system,m causing widespread system failure.
What is scalability?
A system’s ability to cope with increased load.
How is system performance measures?
Performance values are dynamic and can vary widely, even for the same request. These are a distribution of values showing which fraction of users are experiencing performance level within the expected range.
What is maintainability?
The overall cost to keep a system operational and updated.
What is Operability?
How easy it is for the operations team to keep a system running.
What is Simplicity?
How easy it is for new people working on the system to understand it.
What is Evolvability?
How easy it is for engineers to make changes and updates to the system.
What are the roles of the Operations Team?
Monitoring the health of the system, Tracking down the cause of problems, Keeping software and platforms up to date, performing complex maintenance tasks.