Database Services
Database servers are the most common examples of application servers. Because database services enable applications to be designed in separate client and server components, such applications are frequently called client/server databases.
With a client/server database, the client and server applications are designed to take advantage of the specialized capabilities of client and database systems, as follows:
- The client application manages data input from the user, generation of screen displays, some of the reporting, and data-retrieval requests that are sent to the database server.
- The database server manages the database files; adds, deletes, and modifies records in the database; queries the database and generates the results required by the client; and transmits results back to the client. The database server can service requests for multiple clients more or less at the same time.
Database services relieve clients of most responsibilities for managing data. A modern database server is a sophisticated piece of software that can perform the following functions:
- Provide database security
- Optimize the performance of database operations
- Determine optimal locations for storing data without requiring clients to know where the data is located
- Service large numbers of clients by reducing the time any one client is accessing the database
- Distribute data across multiple database servers.
![[note.gif]](note.html)
Microsoft SQL Server and Exchange are two examples of applications that run at the server but are able to perform tasks requested by clients. Because of the way in which these applications are designed, both of these require a “back-end,” or server, component and a “front-end,” or client, component.
Distributed databases are becoming increasingly popular. They enable portions of databases to be stored on separate server computers, which may be in different geographic locations. This technique, known as distributed data, looks like a single logical database to users, but places the data users need in the most accessible location. East Coast sales data, for example, might be located on a database server in Boston, whereas West Coast sales data is on a server in San Diego. Special database mechanisms must be in place to keep the data in the copies of the database synchronized.
More simply, databases can be replicated. Complete copies of the database can be stored in various locations, which provides a redundancy factor because disaster is unlikely to strike all copies at once. Additionally, database replication improves application response time over low-bandwidth connections because users can access the database on the LAN rather than over a comparatively slow WAN link.
As shown in Figure 1.10, the most popular strategies for replication databases are the following:
- Master driven updates. A single master server receives all updates and, in turn, updates all replicas.
- Locally driven updates. Any local server can receive an update and is responsible for distributing the change to other replicas.