Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

-General database discussion FAQ

Client/Server architecture

What is the Client/Server architecture? by jrbarnett
Posted: 11 May 14

What is meant by the Client/Server architecture?

At a high level, databases can be categorised into Client/Server and File based.

A client is a computer system that accesses a resource or uses a service hosted on a server
A server is a computer system that hosts resources or provides services for use by other systems.(*)

Examples of Client/Server systems include SQL Server, Oracle, MySQL and Ingres.
Examples of File based databases include Microsoft Access, Corel Paradox, Filemaker Pro and Lotus Approach.

The fundamental differences are to do with the scalability of the databases, in terms of maximum number of concurrent users and data capacity.

With file based databases, all processing takes place on the computer system running the data, even if the data are hosted on a network drive to allow multiple people access concurrently. It is therefore typically limited to perhaps 2-3 concurrent users. Typically they also include facilities for developing front end applications that use the data in some way.

However, with client/server systems, the user runs some sort of front end client application that connects to and communicates with a back end server, issuing commands to the database to handle the data manipulation and handling any responses received.
Because of this, the quantity of data can stretch to terabytes, petabytes and beyond, with hundreds or thousands of simultaneous users, often employing high availability technologies including clustering and load balancing to handle the load across multiple servers that would overload a single server.

How does this fit in with web applications?
In a typical desktop environment, a computer will run client software that communicates with a back end database server through some sort of database driver.

With a web application, the web browser on your computer/tablet/smartphone will communicate with a web server, ie it acts as the client to the web server. In turn, the web server will communicate with the database, so it acts as a client to the database. Note that your browser does not directly connect to the database, all access is via the web application. There may be additional layers of business logic between the web server and database server to help offload processing from the web server as well.

(*) although this FAQ is targeted at databases in general, other types of system also use the client/server architecture. It is important to note that in general, what is a server for some resources may be a client of other resources - eg a database server is likely to use a DNS server to resolve names to IP addresses.

Back to -General database discussion FAQ Index
Back to -General database discussion Forum

My Archive

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close