Hi Folks,
This post is part of Series Database Management Systems
Currently running topic for this series is listed as below :
Series of Database Management Systems
>>Chapter 1 : DBMS [Database Management Systems]
>>Chapter 2 : Database Core Concepts and Applications
>>Chapter 3 : Record Storage and Primary File Organization
>>Chapter 4 : Index Structures of Files
>>Chapter 5 : Entity-Relationship Model
>>Chapter 6 : Relational Algebra
>>Chapter 7 : SQL
>>Chapter 8 : Functional Dependencies and Normalization For Relational Databases
>>Chapter 9 : Transaction Processing
>>Chapter 10 : Concurrency Control Techniques
>>Chapter 11 : Recovery Techniques
>>Chapter 12 : Distributed Databases<You are Here>
Continuing from my previous post on this series.
We are going to Cover the Following Points in this article
- Introduction
- Client-Server Model
Introduction
In a centralized database system, all system components such as data, DBMS software, storage devices reside at a single computer or site, where as in distributed database system data is spread over one or more computer connected by a network.
Distributed database is thus a set of databases stored on multiple computers but it appears to a user as a single database. The data on several computers can be simultaneously accessed and modified (data from local and remote databases) using a network. Each database server in the DDB is controlled by its local DBMS, and each cooperates to maintain the consistency of the global database.
As a general goal, distributed computing systems divide a big, unmanageable problem into smaller pieces and solve it efficiently in a coordinated manner.
Fig. Data distribution and replication among distributed database
Distributed and centralized databases and their functions
Advantages of Distributed Databases
1. Increased reliability and availability: Reliability is broadly defined as the probability that a system is running at a certain time point, whereas reliability is defined as the system that is continuously available during a time interval. When the data and DBMS software are distributed over several sites, one site may fail while other sites continue to operate. Only the data and software that exist at the failed site cannot be accessed. In a centralized system, failure at a single site makes the whole system unavailable to all users.
2. Improved performance: Large database is divided into smaller databases by keeping the necessary data where it is needed most. Data localization reduces the contention for CPU and I/O services, and simultaneously reduces access delays involved in wide area network. When a large database is distributed over multiple sites, smaller databases exist at each site. As a result, local queries and transactions accessing data at a single site have better performance because of the smaller local databases. To improve parallel query processing a single large transaction is divided into a number of smaller transactions and executes multiple transactions at different sites.
3. Data sharing: Data can be accessed by users at other remote sites through the distributed database management system (DDBMS) Software.
4. Transparency: Ideally, a distributed database should be distribution transparent in the sense of hiding the details of where each file is physically stored within the system. It provides network transparency that is the command used to perform a task is independent of the location of data, and the location of the system where the command was issued.
5. Easier expansion: In a distributed environment, expansion of the system in terms of adding more data, increasing database size, or adding more processors is much easier.
Functions of Distributed Databases
Basic functions performed by DDBMS in addition to those of centralized DBMS.
1. Distributed query processing: Distributed query processing means the ability to access remote sites and transmit queries and data among the various sites via the communication network.
2. Data tracing: DDBMS should have the ability to keep track of the data distribution, fragmentation and replication by maintaining DDBMS catalog.
3. Distributed transaction management In DDBMS transactions that accesses data from more than one site, and it synchronizes the access to distributed data and maintains integrity of the overall database.
4. Distributed database recovery: The ability to recover from individual site crashes and from new types of failures.
5. Security: It must be executed with the proper management of the security of the data and the authorization/access privileges of the users.
6. Distributed directory (catalog) management: A directory contains information (meta data) about data in the database. The directory may be global for the entire DDB, or local for each site. The placement and distribution of the directory are design and policy issues.
These functions increase the complexity of a DDBMS over a centralized DBMS.
Functions of Centralized database
1. It provides a complete view of your data. For example, you can query for the number of customers worldwide or the worldwide inventory level of a product.
2. It is easier to manage a centralized database than several distributed databases.
Difference between Distributed database and Centralized database
Distributed Database |
Centralized Database |
1. Collection of logically distributed database that are connected to each other through a network. |
Has all the data at one place. |
2. Data availability is efficient |
Data availability is not efficient |
3. Since the data is stored in multiple computers, the failure of one computer will not lose the data. They are available in the another location |
The failure of central database will lead to loss of whole database. |
4. The data is available more closely to the user, timely and conveniently. |
Due to the complexity in the design, it requires significant procedures, very experienced DBAs and systems people. |
5. Addition of new nodes is easy in the network. |
It will not support addition of new nodes due to the frequency. |
Client-Server Model
The Client-Server model is basic to distributed systems; it allows clients to make requests that are routed to the appropriate server in the form of transactions. The client-server model consists of three parts.
1. Client – The client is the machine (workstation or pc) running the front and applications. It interacts with a user through the keyboard, display and mouse. The client has no direct data access responsibilities. The client machine provides front-end application software for accessing the data on the server. The clients initiates transactions, the server processes the transactions.
Interaction between client and server might be processed as follows during processing of an SQL query.
1. The client passes a user query and decomposes it into a number of independent site queries. Each site query is sent to the appropriate server site.
2. Each server processes the local query and sends the resulting relation to the client site.
3. The client site combines the results of the queries to produce the result of the originally submitted query.
So the server is called database processor or back end machine, where as the client is called application processor or front end machine.
Another function controlled by the client is that of ensuring consistency of replicated copies of a data item by using distributed concurrency control techniques. The client must also ensure the atomicity of global transactions by performing global recovery when certain sites fail. It provides distribution transparency, which is the client hides the details of data distribution from the user.
1. Server – The server is the machine that runs the DMS software. It is referred to as back end. The server processes SQL and other query statements received from client applications. It can have large disk capacity and fast processors.
2. Network – The network enables remote data access through client server and server-to-server communication.
Each computer in a network is a node, acts as a client, a server, or both, depending on the situation.
Advantages:
· Client applications are not dependent on physical location of the data. If the data is moved or distributed to other database servers, the application continues to function with little or no modification.
· It provides multi-tasking and shared memory facilities; as a result they can deliver the highest possible degree of concurrency and data integrity.
· In networked environment, shared data is stored on the servers, rather than on all computers in the system. This makes it easier and more efficient to manage concurrent access. Inexpensive, low-end client work stations can access the remote data of the server effectively.
Hope you will like Series of Database Management Systems series !
If you have not yet subscribe this Blog , Please subscribe it from “follow me” tab !
So that you will be updated @ real time and all updated knowledge in your mail daily for free without any RSS subscription OR news reading !!
Happy Learning and Sharing !!
For More information related to BI World visit our all Mentalist networks Blog
SQL Server Mentalist … SQL Learning Blog
Business Intelligence Mentalist … Business Intelligence World
Microsoft Mentalist … MVC,ASP.NET, WCF & LinQ
MSBI Mentalist … MS BI and SQL Server
NMUG Bloggers …Navi Mumbai User Group Blog
Architectural Shack … Architectural implementation and design patterns
DBA Mentalist …Advance SQL Server Blog
MVC Mentalist … MVC Learning Blog
Link Mentalist … Daily Best link @ your email
Infographics Mentalist … Image worth explaining thousand Words
Hadoop Mentalist … Blog on Big Data
BI Tools Analysis … BI Tools
Connect With me on
| Facebook |Twitter | LinkedIn| Google+ | Word Press | RSS | About Me |
Filed under: Link, Microsoft SQL Server, MSBI, Optimization, Query, Script, SQL Mentalist, SQL PraRup, SQL Query, SQL Server, Technology,, Vishal Pawar Tagged: DBA, Layman to SQL Server, Learn SQL Server, SQL Server, SQL Server 2008 R2, SQL Server Basic, SQL server Understanding, Tricks of SQL Server, Vishal Pawar
