Craig S. Mullins

Return to Home Page

June 2002




The DBA Corner
by Craig S. Mullins  

DBMS Architecture

One of the many tasks that DBAs must handle is choosing the correct DBMS to use for each new application being developed. Now, that might sound simple to the uninitiated but there are many aspects to selecting the proper type of DBMS. It is not enough to simply say something like, “Our company uses DB2 (or Oracle, or whatever) for all database implementation.” This is so because there are different types of each DBMS for different architectures and purposes.

The supporting architecture for the DBMS environment is very critical to the success of the database applications being built. One wrong choice or poorly implemented component of the overall architecture can cause poor performance, downtime, or unstable applications.

When mainframes dominated enterprise computing, the DBMS architecture was a simpler concern. Everything ran on the mainframe and that was that. But today the IT infrastructure is distributed and heterogeneous. Even for a mainframe DBMS implementation, the overall architecture will likely consist of multiple platforms and interoperating pieces of system software. The final architecture must be based on the business needs of the organization. It should not be made by a single person or group, but by a team consisting of business experts and IT experts. Business experts should include representatives from various lines of business as well as accounting and legal for software contract issues. IT experts should include database resource management representatives including data administrators, database administrators, and system administrators. But the selection process should also include other IT professionals such as  members of the networking group, operating system experts, operations control personnel, programming experts, and any other interested parties (middleware experts, message queuing experts, etc.).

Furthermore, you need to be sure that the DBMS you select is appropriate for the nature and type of processing you plan to implement. There are basically four levels of DBMS architecture that can be selected: enterprise, departmental, personal, and mobile.

An enterprise DBMS is designed for scalability and high performance. It must be capable of supporting very large databases, a large number of concurrent users, and multiple types of applications. The enterprise DBMS will run on a large-scale machine, typically a mainframe or a high-end Unix, Linux, or Windows NT machine. Furthermore, an enterprise DBMS offers all of the “bells and whistles” available from the DBMS vendor. Multi-processor support, support for parallel queries, clustering, and other advanced DBMS features will be core components of an enterprise DBMS.

A departmental DBMS, sometimes referred to as a workgroup DBMS, supports small to medium sized workgroups within an organization, and typically runs on a Unix, Linux, or Windows 2000 (or NT) server. The dividing line between a departmental database server and an enterprise database server is gray. Hardware and software upgrades often can allow a departmental DBMS to tackle tasks that previously could only be performed by an enterprise DBMS. The steadily falling cost of departmental hardware and software components further contributes to lowering TCO and helping to enable a workgroup environment to scale up to serve the enterprise.

A personal DBMS is designed to be used by a single user, typically on a low- to medium-powered PC platform. Lotus Approach, Microsoft Access and dBase are examples of personal database software. Of course, the major DBMS vendors also market personal versions of their more high-powered solutions, Personal Oracle and DB2 Everyplace for example. Sometimes the low cost of a personal DBMS causes misguided attempts to choose a personal DBMS for a departmental or enterprise solution. But do not be lured by the low cost. A personal DBMS product is suited only for small scale projects and should not be used to deploy multi-user applications.

Finally, the mobile DBMS is a specialized version of a departmental or enterprise DBMS. It is designed to be used by remote users who are not usually connected to the network. The mobile DBMS enables local database access and modification on a laptop or handheld device, such as a Palm PDA or PocketPC. Furthermore, the mobile DBMS provides a mechanism for synchronizing remote database changes to a centralized, enterprise or departmental database server.

A DBMS designed for one type of processing will likely be ill-suited for other uses. For example, a personal DBMS is not designed for multiple users and an enterprise DBMS generally will be too complex for single users. Be sure to understand the difference between enterprise, departmental, personal, and mobile DBMS software, and choose the appropriate DBMS for your specific data processing needs. Sometimes, you may need to choose multiple DBMS types – that is, a DBMS for each level, with usage to be determined based on the needs of each development project.

If your organization requires DBMS solutions at different levels, whenever possible favor the selection of a group of DBMS solutions from the same vendor. Doing so will minimize differences in access, development, and administration. For example, favor Personal Oracle for your single user DBMS needs if your organization uses Oracle as the enterprise DBMS of choice.



From Database Trends and Applications, June 2002.

2002 Craig S. Mullins,  All rights reserved.