Centralized vs Distributed Systems in a nutshell

YGSL
4 min readJul 25, 2021

--

Centralized Systems

Centralized systems follow a client-server architecture that is built around a single server with large computational capabilities. Less powerful nodes connected to the central server can submit their process requests to the server machine rather than performing them directly. Internet Service Providers, Application development servers, File Systems, and Organizational Networks are some use cases of centralized networks. As the computational power of the server machine is shared among the client machines in centralized systems, the performance of the system depends on the resource allocation and scheduling algorithms.

Advantages of Centralized Systems

  • Easy to set up and can be developed quickly because of the client-server architecture
  • The whole system can be managed and monitored through the central server. Hence, a Single Point of Control.
  • All the resources of the system(Memory, CPU power, etc.) can be accessed by the client machines by sending requests to the server.
  • As there is only one machine to update, the system can be updated more efficiently.
  • It is easy to physically secure and maintain the server.
  • Less cost to set up for a small system
  • Client nodes can be easily removed and added without affecting the overall system

Disadvantages of Centralized Systems

  • Longer access time for clients far from the server and improper scheduling algorithms might result in starvation.
  • Problems with the central server may result in a complete system breakdown. Hence, a single point of failure.
  • Less possibility to maintain backups. If the central server fails and there is no backup, all the data will be erased.
  • Availability of the entire system depends on the central server, Therefore updates to the system have to be done on the fly. This results in difficult server maintenance.

Distributed Systems

Distributed Systems follow a peer-to-peer architecture, it is a collection of independent computers interconnected via a network. Each node in a distributed system possesses enough computational power to collaborate on a task. In a distributed system users have equal access to data and user privileges can be enabled as required. Failure of independent components does not affect the overall system which results in higher availability and improved reliability. Distributed systems have evolved to address the limitations and problems faced by traditional centralized systems such as security, data storage, and privacy concerns. Internet, blockchain, SOA-based systems are some examples where large scale distributed systems are used in practice.

Advantages of Distributed Systems

  • There is no central point of failure in distributed systems. The system can survive even if a node fails/is removed from the system. Hence, High fault tolerance.
  • Distributed Systems are both horizontally and vertically scalable. Therefore, it is much easier to add new servers as the load increases in the system and take machines offline when the workload is low.
  • Allow many users access to a common database with minimum starvation.
  • The workload can be shared over multiple machines as each node possesses enough processing power. This reduces the overloading of a single machine.
  • The high geographical spread of distributed systems reduces the latency when getting a response to a request.
  • It is easy to add and remove nodes from a distributed system without affecting the performance of the overall system.

Disadvantages of Distributed Systems

  • As there is no common clock for the whole system it is more difficult to design and debug algorithms for the system.
  • It is more difficult to order/schedule transactions in the system as different nodes have different latencies and performances.
  • As all the nodes connected to a distributed system are independent, it is difficult for all the servers to agree upon the same information(consensus).
  • Messages/Information can be lost in the network system because of the absence of a central server.
  • Due to the distribution across multiple servers, troubleshooting and diagnostics are more difficult.
  • Limited software support for distributed systems.
  • More effort must be put to make the network more secure and users have to control replicated data across multiple locations.

Centralized Systems vs Distributed Systems

Written By — Tharinda Dilshan Piyadasa

Sinhala Translator — Rumeshika Pallewela
Tamil Translator — Mohamed Izad
Reviewer — Vinuri Senarathna(English), (Sinhala)
Roshinie Jayasundara

--

--

YGSL
YGSL

Written by YGSL

Science, Research, Industry & Innovation

No responses yet