shilpigupta.itgo.com\ DDBMS architecture

Home

Email

Guest Book

About me

    Last updated:       Nov. 12,2002

Distributed database architecture

Component architecture for DDBMS

Local DBMS (LDBMS) - It has its own local system catalog that stores information about the data held at that site.

Data communication (DC) - It is the software that enables all sites to communicate with each other.

Global System Catalog (GSC) - It holds the information specific to the distributed nature of the system, such as the fragmentation and the allocation schemas.

Distributed DBMS component - It is the controlling unit of the entire system.

 

 

Client server system

It was first used in the 1980s. The general idea is very simple and elegant: distinguish the functionality that needs to be provided and divide these functions into two classes: server functions and the client functions. The first thing to note is that the server does most of the data management work. This means that all of query processing and optimization, transaction management and storage management is done at the server. The client, in addition to the application and the user interface, has a DBMS client module that is responsible for managing the data that is cached to the client and (sometimes) managing the transaction locks that may have been cached as well. The architecture, depicted in figure given in the side, is quite common in relational systems where the communication between the client(s) and the server(s) is at the level of SQL statements.

So, we can easily state that it is the combination of a client or front-end portion that interacts with the user, and a server or back-end portion that interacts with the shared resources. Client process contains solution-specific logic and provides the interface between the user and the rest of the application system. The server process acts as software engine that manages shared resources such as database, printers, modems or high-powered processors.

 

The front-end task and back-end task have fundamentally different requirements for computing resources such as processor speeds, memory, disk speeds and capacities, and input-output devices.

Here, the environment is typically heterogeneous and multivendor. The hardware platform and operating system of client and the server are not usually the same. Client and server processes communicate through a well defines set of standard application program interface (APIs) and Remote procedure calls (RPC).

This system has important characteristics i.e. scalability. They can be scaled horizontally or vertically. Horizontal scaling means adding or removing client workstations with only a slight performance impact. Vertical scaling means migrating to a larger and faster server machine or mutiservers.

It further provides two types of architectures:
1. Two-tier architecture
2. Three-tier architecture

Two-tier architecture is where a client talks directly to a server, with no intervening server. It is typically used in small environments. The server plays a dominant role in this architecture.

Advantages:
+ Simplicity.
+
Seam less compatibility with existing legacy system.
Limitations:
- Less flexible.
-
Performance goes down as client increases.
-
Server maintains relation with the client even when no work is done.

Three-tier architecture introduces a host (or agent) between the client and the server.

Host plays an intermediate role with following functions:
· Provides translation services.
· Metering services (as in acting as a transaction monitor to limit the number of simultaneous requests to a given server).
· Intelligent agent services (as in mapping a request to a number of different servers, collating the results, and returning a single response to the client).

Client contains GUI interface and some additional application specific business rules
Server acts as a conduit of passing (partially) processed data from the host to the clients
Thus the user interface, rules and data access act as the three-tiers. It is suitable for large environments.

Collaborating server system

There is no distinction between the client and the server processes. We have collection of database servers, each capable of running transactions against local data, which cooperatively execute transactions spanning multiple servers. When a server receives a query that requires access to the data at other servers, it generated appropriate subqueries to be e executed by other servers and puts the results together to compute answers to the original query.

Middleware system

Here a special server allows coordination of queries across multiple databases. The special software is capable of executing joins and other relational operations on data obtained from the other servers, but typically, does not itself maintain any data.

< TOP >