It is a collection of data (database) built over a network and belong logically to a single distributed system, which meets the following conditions:
– The information in the database is stored physically in different parts of the network.
– At each site of the network, part of the information, it is as a database itself.
– The basis of local data have their own local users, their own DBMS and programs for administration transactions, and their own administrator local data communication.
– These local databases must have a extension, which manages the functions of society necessary, the combination of these components management systems database local, is what is known as system administrator distributed database.
– This global manager allows users to access data from anywhere on the network as if it made with data from its local database, ie for the user, there should be no difference in working with local data or data from other websites.
Consequently, the distributed database is a virtual unit whose parts are physically stored in more databases “True” distinct, located in different sites.
Example of distributed database:
Consider a bank with three branches, each branch, a computer controls the terminals of the same and the system accounts. Each computer with your local system accounts in each branch is a “Site” of the BDD, the computers are connected by the network. During operations normal applications the branch terminals need only access the database from it. As only access the same local network, they are called local applications.
From the technological point of view, apparently important is the existence of some transactions that access information on more than one branch. These transactions are called global transactions or transactions distributed. The existence of global transactions is considered a characteristic that helps us discriminate between BDD and a set of database locals.
A typical transaction would be a global transfer funds from one branch to another. This application needs to update data in two different branches and ensure both the actual update sites or in none. Ensure the proper functioning of global applications is a difficult task.
Advantages of Distributed Database:
– Decentralization: In a system centralized / distributed, there is an administrator who controls entire database, however in a system there is a distributed global administrator has a policy general and delegate some tasks to administrators of each locality to establish policies locales and work efficient.
– Economy: There are two aspects to account. The first is the communication costs, if databases are widely dispersed and applications make extensive use of the data can be cheaper to split the application and done locally. The second is that costs less to create a system of small computers with the same power a single computer.
– Performance Improvement: Well, the data will be stored and used where it is generated, which will distribute the complexity of the system in different websites, optimizing the work.
– Improved reliability and availability: The failure of one or more locations or a communication link does not imply total system inoperability, even if may have duplicate data is made available total services.
– Growth: It is easier to accommodate the increase in size in a distributed system that expansion is done by adding power of processing and storage in the network by adding a new node.
– Flexibility: Allows local and remote access on a transparently.
– Availability: Duplicate data may be so that multiple people can access simultaneously efficiently. The disadvantage, system database administrator needs to worry about consistency of the same.
– Concurrency Control: The system administrator local database is responsible for managing the attendance of efficient manner.
Disadvantages of distributed database:
– The yield could be an advantage contradicted by the nature of the workload, as a node can be overwhelmed by the strategies used concurrency and failures, and local access to the data. This situation can occur when the load work requires a large number of updates concurrent on duplicate data and must be distributed.
– The reliability of distributed systems is between that, since in this database there are many taking into account factors such as: The reliability of computers, network management system based distributed data, transactions and cups error of the workload.
– The increased complexity, play against this type of systems, but often results in high expenses of construction and maintenance. This is given by the large number of hardware components, many things learn, and many applications likely to fail. By example, concurrency control and recovery failures, requires personal very such specialized and expensive.
– Processing is distributed database difficult to control, because these processes often carried out in the areas of work of the users, and even physical access is not controlled which leads to a lack of data security.