Client-Server data processing was the traditional way for database architectures. However, demand for highly dynamic and growing databases gave rise to new architecture; Distributed Data Processing. Both these systems are still in wide use. Let see what these architectures can offer and cannot.
Client Server Architecture
Server is generally a high powered computer located in a central data processing facility. Clients connected to this Server in some way. Clients use the powerful capabilities of the server and present the client user with desired results. This implies Client user is using Client machine to get access to capabilities of its server. When a user needs to add a new record into central database, he may use a client which is attached to the server database. Upon user commands client request server to place a new record with given parameters. Server serves its clients. It listens to its clients and when it receive a request from a client, it accepts the valid request and carry out it. Then it sends back the result. Generally, users are not allowed to use the Server directly, and sometimes Servers may do not have a monitor like device too.
Client-Server architecture is a centralized data processing system. Therefore, you may able to see following key features;
1. Centralized computers: Main Computers are located in a central location and clients spreads around it.
2. Centralized Data: Database will be in one of central computer and clients have to connect to database in some way.
3. Centralized Processing: Clients requests are carried out by central computer.
4 . Centralize control: Even clients are the users of central database; control of the database is with administrator of database who has authorized access to central computer.
5. Centralized supporting staff: Server holds the most valuable asset, the database. There will be a special staff that take care it.
Distributed Database Architecture
Distributed systems as its name implies is the opposite of centralized, no single place will monopolies the network. It distributes the whole thing over few machines. Database is dispersed throughout secured storage. However, diverse nature of distributed system may have server-client relations. If we consider distributed architecture against Client-Server we can see following.
1. Decentralized computer architecture: It is not clearly visible a special computer as a database server, but there may be more than one.
2. Decentralized data: In client server system, server holds all data and clients are just looks like commanding machines. But distributed architecture let client to store data for its users. Not whole database will relay in one machine.
3. Distributed processing: All machines featuring a presence of database will have to process its own data.
4. Less supporting staff: Here the server is not a powerful one as much as with Client-Server, it may used for general administrative purposes.
comparison
Distributed architecture provides its users with many benefits.
1. Responsiveness
2. Availability
3. Incremental growth
4. Improved end user productivity
5. Expandability
6. Benefits gain from modular approach
7. Flexible and Efficient
However, it has some disadvantages.
1. Data Redundancy
2. Difficulty in locating troubles with database
3. Difficulty in maintaining standards and integrity
4. Complex in nature
Client-Server system is also popular due to following advantages,
1. Less data redundancy
2. More manageable and standards can be maintained
3. Easy to implement security policies
4. Centralized administration
5. Easy to locate errors
6. Cost Effective
7. Data backing up is easy
Following are the disadvantages of Client-Server.
1. Limited expandability
2. Slow responsiveness
3. Server down will be a network down
4. Server must be equipped with powerful tools
5. Server capability limits its users productivity
Practical Usage
Let see when we practically use these architectures.
General office environments use Client – Server system. For example let’s have a look at following order processing system. Customer comes to shop and place an order. Reception will type customer records to database and server appends a new record for the customer. Next, receptionist may want to check whether he can satisfy the order by checking stock info. He input the command into client machine and serer will send him the stock details.
Distributed system is used in internet domain name system. Each database server has records about portion or a domain and user queries travels through these servers to locate desired URL .