Database Tutorial

Course Tutorial Site

Site Admin

Two-tier Databases

without comments

All database management systems are two-tier (or implementations of the client-server model). They have a server and a client. The server runs a listener and the listener runs as a background process listening for client calls to the database. The client runs the software that lets you send messages to the server.

The client-side interface is frequently called the Oracle client, MySQL client, et cetera. It is always deployed on the server-tier but can be deployed as a standalone application on a separate client- or middle-tier server. This type of deployment lets you connect to work on server-side components or administer the server from a remote machine.

The client-side application software provides the interface. It allows you to create an Internet socket between two computers. This type of connection is often labeled persistent or pessimistic. It is persistent because it’s like a traditional handshake, unbroken until the reply and acknowledgment transaction completes. It is pessimistic because you remain connected until you confirm the completion of an action, which is known as a transaction. The supporting Internet socket is often described as state-aware. This type of communication allows interactive and batch communication to lock data changes until you want to make them publicly available in a multiple-user system. All database management systems are designed to be multiple-user systems and ACID-compliant machines.

While transactions may involve inserting, updating, or deleting data from a table or view, they may also involve transactions against multiple tables or views in the database. The perspective of a change or multiple changes to several objects is a transaction. Individual table changes in the context of a series of changes may be considered subtransaction. Likewise, a transaction may be broken up into smaller pieces, which are known as subtransactions. Subtransactions may contain one or more Data Definition Language (DDL) or Data Manipulation (DML) commands.

Anytime you have a client-side application communicating across an Internet socket, you have what’s known as client-server computing or multitier computing. The best definition I’ve run across for client-server computing is: “Two computers sharing resources across a network.” While you can implement this without TCP/IP, most applications implement it on top of TCP/IP.

Written by michaelmclaughlin

August 2nd, 2018 at 12:48 am

Posted in