DS L1. What are main design goals in DS? Flashcards

1
Q

What is a Distributed System?

A

A DS is a computing system composed of interconnected nodes working together to achieve a common goal. The nodes are physically dispersed and communicate through a network. Each node can have different components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the benefits of DS’s?

A

Through the collective computational power and resources of the nodes, a DS can perform tasks more efficiently, handle large-scale data processing, improve fault tolerance, and support scalability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Name some examples of DS’s

A

CDN’s, cloud platforms, P2P networks, distributed databases

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

List the main design goals of a DS

A

Scalability, reliability, availability, consistency, performance, efficient communication, flexibility, security, manageability, and cost-effectiveness

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is scalability?

A

The ability to handle growing numbers of users and/or resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How can scalability be achieved?

A

Either through horizontal scaling, eg adding more nodes, or through vertical scaling, eg increasing capacity of existing nodes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is reliability?

A

The ability to operate reliably even in the presence of failures, faults, and unexpected events

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How can reliability be achieved?

A

By implementing mechanisms such as redundancy (having more resources than are strictly needed), replication (maintaining multiple copies of resources), and error detection to ensure continuous operation and data integrity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is availability?

A

The ability to ensure that services remain accessible and responsive at all times

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How can availability be achieved?

A

By redundancy mechanisms and distributing workload across multiple nodes, minimizing downtime and mitigating impact of failures

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is consistency?

A

The ability to maintain data and state across multiple nodes, so that all nodes have the same view of the system despite concurrent operations and updates

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How can consistency be achieved?

A

By implementing distributed consensus protocols, replication strategies, and transactional mechanisms

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is performance?

A

The ability to achieve optimal response time, throughput, and resource utilization

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How can performance be achieved?

A

By optimizing communication protocols, minimizing latency, and efficiently utilizing computing resources to meet performance requirements

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is efficient communication?

A

The ability of nodes and components to communicate and coordinate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How can efficient communication be achieved?

A

By designing efficient messaging protocols, data serialization formats, and network protocols to minimize overhead and latency in communication

17
Q

What is flexibility?

A

The ability to adapt to changes in workload, requirements, and environment

18
Q

How can flexibility be achieved?

A

By designing modular, loosely coupled components that can be easily scaled, upgraded, or replaced without disrupting the overall system

19
Q

What is manageability?

A

The ability of the system to be easily managed, monitored, and debugged

20
Q

How can manageability be achieved?

A

By providing tools, APIs, and monitoring capabilities for managing configuration, performance, and health of distributed components

21
Q

What is cost-effectiveness?

A

The ability to meet requirements while optimizing resource use and minimizing infrastructure costs

22
Q

How can cost-effectiveness be achieved?

A

By optimizing resource utilization, minimizing operational expenses, and maximizing the value derived from investments in infrastructure and technology