The obvious difference between the two is the number of servers. The standalone database requires one server while distributed databases require multiple servers (at least two). In the case of one-node (or one-server) centralized databases, all data are managed by a single DBMS. That is the common setup for almost everything from web software like WordPress to analytical software. Data consistency is the major benefit of centralized databases. So, a WordPress setup with centralized database fails and front-end shows up database error instead of the website. But, when we make the backend of WordPress distributed, then the frontend rarely dies. WordPress in this case used as an easy example. The major disadvantage of a distributed database is the higher cost.
The advantages of using a distributed database are numerous. The system obtains a storage space extension which can benefit processing. Large data processing can lead to poor performance. Distributing data leads to parallel data processing throughout multiple nodes. It increases reliability and availability, makes proof to failure, makes the expansion easier.
The disadvantages of distributed database systems are also numerous, such as it invites a complex software and complex implementation. Also, as pointed above, the cost compared to a centralized system is more. It also increases the processing overhead, data integrity becomes complex, deadlock is difficult to handle. Additionally, the open networks for communication between the nodes are vulnerable to attack. And most importantly, handling failures is a difficult task.
Mainly there are two processes which ensure that the distributed databases remain up-to-date, first is replication and second is duplication. Replication demands specialized software, the replication process can be complex. Duplication is less complex and it is simple identification of one database as a master and the others as a slave.
An easy example can be MySQL Cluster CGE, which is the distributed database. Later in another article, we will show how to set up Percona MySQL to create a cluster.