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.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.