Client Server Databases
The concept of client server systems relates to a network environment. A
server provides a service to applications running on client machines on a
network. The clients may be terminals, with little processing power, or they
may be computers. In many cases they will be PC workstations.
There are a number of different types of server, depending on the
service that they provide. A file server, for example, provides file access or
storage services to its client while a print server proves printing
services.
A database server provides database services to software running on the
network clients. In order to understand this, let us start by looking at a
network system where each machine is accessing data stored on a file server but
where there is no client server database system operating.
In a non client-server system each machine will be running the full
database application. Only the data itself will be stored on the file server.
The file server will provide each client with access to the data but it will
not be responsible for any database functions such as searching or up updating
the data. It will only read the requested data from the file and write back any
changes as instructed by the client machines.
In this situation, if a client machine crashes or looses the network
connection part way through a transaction, the database might become corrupted.
There may be additional problems if several users attempt to access the same
record at the same time, particularly if more than one of them changes the data
in the record. When workstations are searching or sorting the data then all the
data will be supplied over the network to the local machine. This can lead to
heavy network traffic in certain situations.
A Client-Server database resolves some of these issues. In this system
the client machines do not operate directly on the data. They run only part of
the database application – typically the user interface part. This allows
the user to input and edit data, set up queries and design reports at the local
machine. The database server however is entirely responsible for processing the
data. It therefore handles all searching, updating and selection of data. When
a local machine runs a query for example, it passes the details of the query to
the server. The server executes the query and passes the resulting information
back to the client.
This overcomes the problem of data integrity since only one computer
– the server – is altering data. If a local machine goes down part
way through a transaction it will not affect the database since the server is
in control.
In addition, since only the results of queries are transmitted over the
network, the amount of network traffic is reduced. When a local machine is
editing data only the changes need to be notified to the server so, again,
network traffic is reduced.
Another advantage of client-server systems is that less powerful clients
are needed since they need only act as a front end to the server, so there may
be a saving on hardware costs.
|