Do you think IIT Guwahati certified course can help you in your career?
No
Introduction
Picture a world where your favourite websites never crash or slow down, even when millions of people are accessing them at the same time.
Well, this is the power of distributed systems.
In this article, we will explore the depths of distributed systems. We will also study the characteristics of the revolutionary approach to computing.
What are Distributed Systems?
Also known as Distributed Computing or Distributed Databases, a Distributed System is a cluster of independent components on different machines connected by a centralised computer network. These machines share resources, files and messages to reach common goals. In these modern times, the data is more distributed than ever. This is why modern applications do not run separately and rely heavily on distributed systems.
Now that we know what distributed systems are, we move on to the types of distributed systems.
Client/Server Systems: These are the most basic forms of servers. The client gives an input to the server, and the server replies with an output. The client wants to perform a task on a server, and the server allocates and performs the task and sends the result as a response. These types of servers can be applied to many other servers.
Peer-to-Peer Systems: In this system, each node executes its task on its locally allocated memory and shares the data through a supporting medium. Computer network applications use a peer-to-peer system to manage processors that communicate with each other but maintain independent memory bases.
Middleware: It is an application which sits between two different applications and provides services and benefits to both.
Three-tier: Three-tier system uses a distinct layer and server for each program function. The client's data is stored in the middle tier. It contains an application layer, a data layer, and a presentation layer. This three-tier system is most commonly used in web or online applications.
N-tier: It is also known as a multitier distributed system. As the name suggests, this system may contain any number of functions, similar to the three-tier system. This N-tier system is more commonly used in web applications and data systems.
In Networking, ethernet and LAN are the best examples of distributed systems. Computers sent messages to other computers and systems using local IP addresses.
In Telecommunications, telephone and cellular networks have distributed networks with a broad spread of base stations. They persist in growing in complexity as a distributed network.
In Real-time Systems, the systems are distributed globally. Many major industries use these systems. Companies like Uber and Lyft use dispatch systems, many significant airlines use flight control systems and e-commerce websites, and logistic companies use real-time tracking systems.
Characteristics of Distributed Systems
The key characteristics of distributed systems are:
Transparency
One of the essential characteristics of the distributed system, transparency, is the notion that the user interacts with a whole quantity rather than a cluster of cooperating elements. A system capable of presenting itself as a whole to the user is called transparent.
Transparency is divided into the eight sub-characteristics illustrated in the following table:
Transparency
Description
Access
Hide differences in data representation and object accessibility.
Location
Hide the object’s location.
Relocation
Hide the location of the moving object while still in use.
Migration
Hide that an object may move to another location
Replication
Hide replication of the object
Concurrency
Hide that an object may have a shared databases access
Failure
Hide any resource failures.
Persistence
Hide the fact about memory location.
Heterogeneity
Heterogeneity refers to the system's ability to operate on various hardware and software components. Middleware in the software layer helps achieve heterogeneity. The goal of the middleware is to interpret the programming calls such that the distributed processing gets completed.
Openness
Another important characteristic of Distributed system is openness. A distributed system's openness is the difficulty in extending or improving an existing system. In order to make an open distributed system,
The interface of the components should be well-defined and precise.
The interface of the components should be standardised.
Integration of new components with existing ones must be effortless.
Scalability
In terms of effectiveness, scalability is one of the significant characteristics of distributed systems. It refers to the ability of the system to handle growth as the number of users increases. Scalability is accomplished by adding more computer systems to the existing networks.
A centralised system affects the scalability of a distributive system. If a system is centralised, more nodes will try to communicate, which results in a bottleneck at that particular time in the system.
Fault Tolerance
A distributed system is very likely to be prone to system failures. This is due to the fact that several computers have diverse-aged hardware. The ability of a system to handle these failures is called fault tolerance. Fault tolerance is achieved by:
Recovery: Systems and processes will have a stored backup. It takes over when the system fails.
Redundancy: When a component acts predictable and in a controlled way is called redundancy.
Concurrency
Concurrency is the system's capability to access and use shared resources. It means multiple actions are performed at the same time. In distributive systems, the concurrent execution of activities takes place in different components running on numerous machines.
Efficiency
Efficiency refers to the capability of the system to use its resources effectively to execute the given tasks. The system's design, the workload handled by the system, and the hardware and software resources used are some critical factors affecting the system's efficiency.
Some of the common ways to improve the efficiency of the system are:
Optimising the design of the system. This minimises the amount of communication and coordination required between the different components, reducing any extra power consumption.
Carefully negating the workload of the system. This balance avoids any component overload and ensures that the system can make the most efficient use of its resources.
After expanding your knowledge of the characteristics of distributed systems, let us now discuss the disadvantages of distributed systems.
Currently, there is no relevant software for distributed systems.
As the data is distributed, security is a primary concern as it may be easily accessible.
If there is a delay in the network, the user may face difficulty accessing data.
The distributive system has an intricate Database that faces challenges to manage.
Network overloading is also a challenge faced in distributive systems. This happens when all the nodes send data at once.
Frequently Asked Questions
What are some challenges of distributed systems?
Distributed systems are more prone to security threats than centralised systems. Maintaining consistent data across multiple distributions of a system is a challenge. Furthermore, network latency affects the performance of the system. And distributed coordination is the challenge presented by distributed systems.
Is distributed systems a cloud computing service?
No, a distributed system is not a cloud computing service. Cloud computing provides distributed benefits, but distributed systems are designed to operate on numerous machines connected via a network. Also, it is used for parallel/concurrent data processing using distributed devices.
What Is a Distributed Database?
A distributed database is spread across numerous locations. A distributed database is more scalable than a conventional database. Each node in the grid has its own copy of the database, and the nodes can transmit with each other. When a node is not accessible or goes through failure, other nodes are still accessible to the data.
Conclusion
This blog covered all the necessary points about Distributed Systems. We learnt what distributed systems are and their types. We also learnt about the characteristics of distributed systems and their disadvantages. I hope this blog helped you with clearing your doubts.