==================================================================
CLIENT/SERVER VERSUS LAN
==================================================================
PRODUCT : R:BASE /V VERSION : 3.1C
CATEGORY: MULTI-USER SUBCATEGORY: NETWORKING
==================================================================
Client/Server! That phrase appears all over the press these days: who's
got it, who does what and to whom, and so forth. But just what is client/
server all about? This article will answer that question and explain why
working in a client/server environment is a benefit to you and your
organization's data management.
The idea behind the client/server environment is fundamentally quite
simple. A relational database engine and its data reside on a centralized
computer (the server), and users on PC workstations (the clients) are
able to retrieve the data via some kind of query mechanism and integrate
the data into the PC client's applications.
A client/server setup can help centralize data that had been pooled in
many LANs much the same as LANs helped centralize data that had been
pooled in stand alone personal computers.
Differences Between LANs and Client/Server Setups
=================================================
Some important differences exist, however, between LANs and client/server
setups:
<> In a LAN, the database typically resides on the server and the data-
base software resides on the server as well, but the engine actually
runs on the PC workstation. All queries are processed on the work-
station. Plus, all rows are returned across the network and always
processed at the workstation. In a client/server setup, the database
engine resides AND RUNS on the centralized server. All processing
occurs on the server, not the client. Just the results of the query
are returned to the workstation.
To illustrate, let's say you have a 100,000-record customer table
and you want to see just the four customers you have in Rhode Island.
On a LAN, all 100,000 records would have to come across the network
to your workstation for the PC database engine to sort out which
ones are to be discarded and which ones are to be retained (this
example implies a non-indexed column search). If you have several
people doing similar searches, you can easily imagine how much
network performance degrades, thus slowing down every user on the
network.
In a client/server setup, the server locates the four rows and then
only the four records that match the conditions of your query are
sent to your workstation. By having the server handle the query,
network traffic is greatly reduced.
Server Database Software
========================
Note that most DOS-based PC data-bases, which had to run in the DOS-
enforced memory limit of 640K, evolved as flat-file databases with some
workarounds added to simulate true relationality. (R:BASE, of course, is
an exception, having always provided true relationality.) Server data-
bases, in contrast, are fully functional, relational databases powered by
SQL engines. Here is a list of some proven server databases with good
performance and data-protection records:
<> DB2
<> ORACLE
<> INGRES
<> SQL Server (Sybase)
These database products include query optimizers, unbeatable security
systems, rules functionality to maintain data integrity, on-line backup
systems, commit and rollback function- ality, and many other powerful
features that until recently were available only on mini- and mainframe
data- bases (and from R:BASE).
For further information about the lack of data integrity and security in
most PC databases, see page 289 of the March 31, 1992, issue of PC
Magazine.
Server Database Operating Systems
=================================
Another advantage of server databases is that they run under one of the
following operating systems:
<> VAX VMS
<> UNIX
<> OS/2
<> MVS
All four operating systems offer much greater performance and speed than
DOS; all were designed from the start to be robust, multi-user operating
systems; and all have undergone substantial fine-tuning over time. DOS,
on the other hand, is inherently a single-tasking operating system.
Summary
=======
In a nutshell, these are the benefits of a client/server environment:
<> Centralized data
<> Minimized network traffic
<> Fully Functional Relational Data-bases
<> Multi-user Operating System
The next issue of the R:BASE Exchange will include an article about
Vanguard and how it addresses the issues brought up here. You'll learn
about Vanguard's inner workings and about its ingenious, flexible, and
elegant design, which will in turn underscore the advantages of working
in a client/server environment.