Introduction to Distributed Database System
Distributed database as the name suggests is the process of distributing a database over several or network of several or distributed computers for an efficient management system. Generally, the network of computers used for distributed systems could be located in the same physical location or they may be located globally in various parts of the world connected through a single management system. These distributed databases could be hosted on either a network server or on corporate intranets and Extranets or more recently and most popularly on decentralized independent computers hosted on the internet.
Need for Distributed Database
Below are the needs for the distributed database:
One of the main reasons for the need for distributed systems is its Tunability. With the complex nature of organizations and various transactions that happen every second, it becomes important that the servers and the application are flexible enough to accommodate their ever-changing needs without hampering the overall functions of the database management system. For example, a machine that houses a web server would service a high volume of small transactions whereas a database server with a data warehouse would serve the low volume of large or complex transactions. In distributed database systems these functions are mutually separated and therefore can be configured by end-users and developers as per their requirements.
2. Fault Tolerance
Imagine a system where the applications and the server are physically located on the same computer or system and one of the components fails and disrupts the entire system! With DDMS since the server and application are located on a network of computers, failure of a component doesn’t affect the system as a whole and thus becomes fault-tolerant which is extremely important especially when used by large organizations.
Since the components of a DDMS are completely independent of each other both in working and location if one of the components gets compromised it wouldn’t affect the system as a whole and this greatly increases the security of the database system.
As an organization grows, so does its data and need for a better database management system. With distributed systems, organizations can scale their existing network of the system easily and maneuver the system as per their needs.
It costs less to create a network of smaller computers spread across geographies than a single large computer.
Functions of Distributed Database
Below are the functions of the Distributed Database System:
As the data on a distributed system is spread across locations, it becomes imperative to have a Cataloguing of what is stored at what location along with details to its autonomy and confidentiality. The details of the database with respect to data distribution, data fragmentation, and replication need to be expanded in the Database catalog which is dynamic and ever-expanding.
2. Data Recoverability
One of the main advantages of DDMS is that it spreads across a network of computers with independent components and therefore recovery of data at a particular site becomes an important function of the distributed system. If there were to be a problem with one of the locations, the system needs to be robust enough to recover the data that has been lost in that particular location.
As discussed, security becomes an important aspect of distributed systems and with ever-increasing use by organizations various complex security measures have been possible under distributed systems with its advantage of being at multiple locations.
4. Distributed Query Processing
In an environment where data is located in various sites in a distributed system, the Distributed Query Processing is used to process the queries.
5. Data Transaction Management
In a distributed system the transactions take place in different systems at various physical locations, therefore in order to complete a transaction, the Data Transaction Manager communicates with all the local transaction managers. Thus, the data transaction management plays a very important role.
Advantages & Disadvantages of Distributed System
Below are the advantages and disadvantages of a Distributed System:
- They are cost-effective and can drastically reduce database management costs by a fraction. This helps a lot of startups and cash strapped companies to invest in other technologies.
- It’s easily Scalable and therefore as the business grows, they can easily scale their distributed system to handle an increased workload.
- The performance is drastically improved vis-a-vis a traditional single large computer system as the data is located where the site has the greatest demand and the database systems can be Parallelized allowing load distribution to be just and as per requirement.
- An Organization can better structure their various departments by better sorting of their database systems where the data for a department is fragmented in their location.
- There can be a reliable transaction due to the replication of the database.
- Fault-tolerant and single site failure won’t affect the entire system.
- Local or central autonomy where there is greater flexibility with the organization and they can choose who can access what data.
- It supports both OLTP (Online Transaction Processing) and OLAP (Online Analytical processing) upon diversified systems that may have common data.
- Most organizations use various applications and with distributed systems, it’s robust enough to use the same data under various applications.
- While it is economical to distributed systems, in the long run, its installation can be expensive as it would need relatively high resources to set up a distributed system effectively.
- The need for updating data on every site can sometimes affect data integrity.
- The entire system can become unresponsive or slow if data is not properly distributed and work is not handled correctly. This again can also increase overheads as personnel would need to be available to monitor the system constantly.
- Organizations wanting to convert from a centralized database to distributed systems also might face problems due to lack of a standard procedure as there are no tools or methodologies for the same.
As far as database management system goes, a distributed database management system is what most organizations opt for and due to several advantages and use cases, it becomes imperative for anyone looking for a database management system to consider opting for a distributed system. Also, various cloud solutions providers like Microsoft Azure, AWS and Google are already offering these systems at one-tenth of the cost of centralized or even some decentralized systems making it easier for businesses and organizations to switch to distributed systems.
This is a guide to Distributed Database System. Here we discuss Functions and Needs of Distributed Database System along with Advantages as well as disadvantages. You can also go through our suggested articles to learn more –
- Top 10 Types of Database
- Operational Database With Functions
- Types of NoSQL Databases | Top 7
- Introduction to AWS Databases