Three-Tier Database Framework

Peraphon Sophatsathit
Department of Mathematics
Faculty of Science
Chulalongkorn University


Abstract

The advent of World Wide Web technology imposes an overwhelming burden on traditional client-server architecture. The majority of computations take place on server side, leaving client idle most of the time. Despite efforts on new client-pull paradigm, the server still remains heavily loaded. There have been numerous endeavors to improve the efficiency of this client-server configuration by splitting application invocation from information processing. One such attempt is known as Three-Tier model, whereby client-server-application become loosely-coupled computing systems. As such, not only considerable work load of the server is reduced, but also high degree of system transparency is established. Applications, software, and data can then be commissioned, administered, and replaced without affecting other tiers.

This study investigates the applicability of this new loosely-coupled framework that could form the building blocks of new user-computing environments.

Background and Motivation

Conventional client-server configuration has been the mainstay of today's information technology since its inception. As actual client-server implementation was further enhanced by middleware layer [2], application transparency became crucial to end-user computing. Software developers were restlessly striving for broader applications and tools interoperability. The gains, unfortunately, were lessened due to performance overhead caused by communication exchange in middleware. One such example is the use of Open Data Base Connectivity (ODBC). Nevertheless, most of operational work loads were carried out by the server, hampering performance of the system considerably. Hence, numerous endeavors have been attempted to improve the server's performance. The latest of such efforts is the client-pull paradigm, whereby local computing such as output rendering or application invocation are performed at the client end whenever possible.

The explosion of information technology has further caused greater imbalance on the aforementioned client-server configuration since the server is designed to be responsible for the bulk of work load. Archiving and processing myriad of data rapidly become unmanageable. The pursuit of Data Warehouse thus calls for new paradigms of computing to attain the maximum information processing capability. Conventional database management systems (DBMS) are no longer adequate to handle terabytes of data stream flowing across client-server network. New paradigms of computing were proposed to add a back-end data store known as datamart, an application server, or a multi-dimensional database (MDD) to enhance system performance [1]. As a consequence, data processing have become the central issue of this newly arrive World Wide Web information technology.

Reference Architecture

At the heart of this Three-Tier database set up lies three logical sub-systems, namely, a database sub-system, an application sub-system, and a client sub-system. The first tier or the database sub-system consists of single server or cluster of servers physically connected. The single database server configuration merely accommodates small and centralized set up. The cluster configuration, on the other hand, can be arranged to support either centralized or distributed operating environment. In centralized cluster scheme, each database server functions as a node to handle separate DBMS tasks such as transaction processing, query optimization, access and retrieval systems, etc. All of which cooperate and consolidate the outputs to yield various desired results. For distributed cluster scheme, all database servers are logically fragmented into small groups either horizontally, vertically, or mixed, depending upon specific operating requirements. As a consequence, the distributed cluster framework permits open-ended homogeneous or heterogeneous interconnection.

The second tier or the application sub-system is arranged in a similar manner as the first tier. The basic configuration consists of one or more application servers setting up to support system-wide operations. Typical operations are API, GUI, RPC [3], client request processing, network transfer, data translation, and database servers' outputs formatting.

The third tier or the client sub-system is primarily laid out in the same fashion as conventional client-server configuration. The main difference is connection with existing network. Under this Three-Tier framework, the clients are linked to both tiers, enabling requests to flow directly to the designated application or database server. For example, one client may issue a database retrieval request to any application servers. Upon connection is established, the application server invokes the corresponding application that links the client to the designated database server where request service commences. At that point, the client could by pass the application server and communicate directly with the database server. When the service is complete, the client-database linkage can be severed. Communication is transferred back to the application server by means of service turnover protocol. Normal client-application exchange is thus resumed.

Distributed Computing Environments

The fact that the Three-Tier framework is inherently dispersed makes it ideal for distributed computing environments. Each tier furnishes its own environment suitable for specific tasks. All available resources can be optimized and administered to accommodate various processing requests. There are number of managerial aspects which are critical to system interoperability, namely, communications, support, control, and platform independence.

One of the challenges in commutations is data exchange capability. Despite modern fiber optic technology, the need for high bandwidth to cope with huge and complex data transmission increases exponentially. From plain text to multimedia virtual reality display, simple data retrieval to multi-dimensional spreadsheet [7], single file-based store to terabyte data warehouse [4], direct data reading to computer-assisted data mining (or knowledge discovery) [6], conventional DMBS are no longer adequate to deliver acceptable performance level. Query-and-reporting SQL tools do not have the necessary intelligent and computation capability to furnish decision-critical analysis within tolerable time. The proposed framework avoids such unfettered querying grinds [5] by distributing work load between application server (tool host) and database server (data warehouse). Hence, the amount of data required to be transmitted decreases considerably.

System supports such as naming, resource optimization, storage granularity (such as object-based service and method service), local operational services (such as message-passing, RPC, and shared memory), tools (such as data migration tool, meta-data tool and repository, tool management system, and report/document tool), constitute a basis for system scalability. Without these supports, the proposed framework will eventually saturate its physical capacity and operate in a similar manner as conventional client-server system.

The main issue of control is seamless connectivity which can be achieved by enforcing standards for operating systems, communication protocols, and GUI compatibility. The need for standard mapping scheme is imperative to guarantee system integrity, security, virtual centralization, as well as operational uniformity.

Owing to the distribution of application server and database server set up, heterogeneity becomes a trivial issue. Each application server in the application cluster is autonomous and connected to other servers via standard interfaces and protocols. By the same token, the database cluster can also achieve platform independence at the expense of system performance. Irrespective of interface overhead, open-endedness is, of course, the ultimate goal of the Three-Tier framework to attain maximal interoperability.

Benefits

The proposed Three-Tier framework not only lends itself to be a scalable distributed processing system, but also offers basic building blocks for incremental network development. Some of the main advantages are:

Summary

The Three-Tire database framework offers a new distributed processing paradigm that existing client-server lacks. The proposed framework not only lessens server-side work load, but also establishes higher degree of interconnectivity. As such, flexible and scalable configuration can be arranged without affecting the original set up. End-user computing can achieve high degree of concurrency and interoperability. Individual system idiosyncrasies will be transparent to applications which lend themselves to more abstraction in planning, design, and implementation of distributed processing systems.

References

  1. R. Barquin and H. Edelstein, Editors. Planning and Designing the Data Warehouse. Prentice-Hall, Inc., 1997.
  2. P. Rob and C. Coronel. Database Systems--Design, Implementation, and Management. Boyd & Fraser Publishing Company, 1995.
  3. A. D. Birrell and B. J. Nelson. Implementing Remote Procedure Calls. ACM Transactions on Computer Systems, Vol. 2, No. 1, Feb 1984, pp. 39-59.
  4. S. R. Hedberg. The Data Gold Rush. Byte, October 1995, pp. 83-88.
  5. K. Watterson. A Data Miner's Tools. Byte, October 1995, pp. 91-96.
  6. C. D. Krivda. Data-Mining Dynamite. Byte, October 1995, pp. 97-102.
  7. E. Teach. A Spreadsheet with Six Dimensions. World Executive's Digest, July 1997, pp. 48-52.

Published in "Proceedings of the 80th Chulalongkorn University Anniversary Academic Conference", Chulalongkorn University, Bangkok, October 15-17, 1997, volume 2, pp. 1085-1089.