Introduction
This two-part article will help readers have a better understanding of the various database architectures that are available for application development. In part one, I described the personal and workgroup database architectures. In part two, I describe the enterprise and mainframe architectures. In addition, I have included formal guidelines and checklists to help you select the correct architecture for a particular application. If you have any questions on selecting the correct database architecture for an application, please feel free to contact me at christopher.foot@alcoa.com.
As I stated in part one, choosing the correct architecture (hardware platform, operating system, database) is critical to the success of any new database application. This decision was simple when the mainframe was the only architecture available. But architecture selection is not as clear-cut now that enterprise, departmental and personal architectures as well as the mainframe are available. Application developers and end users have more hardware and software choices available to them than ever before. The key to success is choosing the right ones. This document does not favor one architecture over another, it’s intent is to help readers choose the architecture tier that best fits an individual application’s requirements. The final architecture decision should not be made in a vacuum or based on personal preference. It is important for all large IT shops to create a part-time architecture selection team consisting of members drawn from the following areas: LAN/WAN communications, O/S support, architectures and database administration. This team should be responsible for determining the best architecture for a particular application.
Document Contents
The major focus of this two-part article is database architecture tiers. It contains an in-depth description of each of the four database architecture tiers (mainframe, enterprise, departmental, personal) followed by several pages of database architecture tier selection criteria. The information regarding each tier will be broken up into the following categories:
- General description of the architecture, including hardware and software
- Types of applications that fit the architecture being described
- Benefits and drawbacks
- Detailed discussions on cost, expected performance, reliability and ease of use. An evaluation rating (from 0 to 10 with 10 being the most favorable rating) will be included that evaluates the architecture being discussed
Attachments
The following attachments are included:
- Attachment 1 contains additional architecture evaluation criteria
- Attachment 2 contains a worksheet used to help determine the best architecture for a given application
- Attachment 3 contains a description of the Transaction Processing Council Benchmarks
- Attachment 4 contains a list of acronyms used in this document
TPC Benchmarks
I make numerous references to the TPC (Transaction Processing Council) and TPC benchmarks. The TPC is a non-profit corporation founded to define transaction processing and database benchmarks and to disseminate objective, verifiable TPC performance data to the industry. For more information on the TPC and TPC-C and TPC-D benchmarks, please refer to Attachment 3.
Enterprise Tier
Description
The enterprise and mainframe tiers are the most mature, reliable environments currently available for application development. Unlike the departmental tier, which has only recently become popular, enterprise architectures have been the perennial favorites of shops desiring to build non-mainframe applications. Enterprise architectures were the only alternative to mainframes before the departmental tier evolved into a viable solution. Sun, HP, Data General and Sequent were competing for the corporate consumer’s dollar years before the client/server revolution popularized non-mainframe architectures. As a result, there is a large number of third party tools and applications available for enterprise architectures. In addition, database vendor competition in this tier is fierce, resulting in database products that have a large number of performance options (parallel query, parallel load, bit-mapped indexes, asnynchronous read ahead) and database options ( advanced text search, spatial data management, video/audio storage) available. The enterprise server tier leads all other tiers in database software options and add-ons available to consumers. Because of this competition, the majority of new product enhancements are released for this tier first, making this tier the most technically advanced of the four. Performance and reliability are the key advantages of this environment, while cost and complex administration are the drawbacks.
Hardware
- 4 to 64 CPUs
- 200 megabytes to 4 gigabytes (and up) RAM
- 2 gigabytes to 750 gigabytes DASD (some into Terrabytes)
- Typical Vendor products – IBM, HP, Sun, Sequent
Operating System
- Graphical User Interfaces only recently becoming available from vendors
- Pre-emptive multi-tasking (architected for multiple, concurrent users)
- Typical vendor products – Microsoft NT Server (debatable), UNIX variations
Database Software
- Runs as multiple processes on the operating system
- Graphical User Interface
- Typical vendor products – Oracle Enterprise, Sybase SQL Server, DB2
Benefits/Drawbacks
- Hardware
- Operating System
- Database Software
- Database Environment (hardware, operating system, database software viewed as a single entity)
Typical Applications
- Multi-user database with multiple query and update sources is acceptable
- Number of concurrent users ranging from 5 or 6 to hundreds (depending on database access)
- Architecture supports both moderate/heavy OLTP as well as moderate/heavy decision support applications
Numerical Ratings (0 – least favorable, 10 – most favorable)
- Cost (Rating 5)
- Performance (Rating 8)
- Reliability (Rating 9)
- Ease of use (Rating 6)
Mainframe Tier
Description
Mainframes are in the process of being transformed from monolithic, character-oriented, centralized servers to up-to-date, open and highly flexible client/server systems. There is no doubt that the dramatic growth of enterprise, departmental and personal architectures is playing an enormous role in causing (as well as accelerating) these changes. Mainframe hardware and software vendors are reducing prices and accelerating the level of product enhancements to prevent competitors from eroding their market share. The inability to access mainframe data via Graphical User Interface is no longer an issue. Advances in middleware technology are providing mainframe users with graphical development environments that lend themselves to rapid application prototyping and development. Although it is clear that NT and UNIX servers are capturing an increasingly larger share of the computing market, neither platform will be able to overtake entirely the scalability and reliable performance of the mainframe. In addition, IBM’s CMOS mainframes are much lower in both initial and support costs than their water-cooled counterparts. With the newly announced MVS/Open Edition, UNIX and NT applications will be able to be run natively, with all the performance, reliability and security inherent to the mainframe architecture. MVS/Open Edition will provide consumers with an attractive selection of operating systems (UNIX, NT, OS/390), databases (DB2, Oracle, Sybase, Informix) and third party applications from which to choose. The failure of high-end enterprise servers to displace mainframes on a combination of price/performance and manageability have ensured the continued growth of the mainframe architecture. Mainframe performance and reliability are (and will be in the forseeable future) the standards by which vendors in other tiers measure themselves.
Hardware
- 1 to 10 central processors
- 100s – 1000s of megabytes of central and expanded memory available
- Gigabytes to terrabytes of DASD
- Typical Vendor products – IBM 9000
Operating System
- No Graphical User Interface
- Typical vendor products – IBM OS/390
Database Software
- Runs as multiple processes on the operating system
- No Graphical User Interface
- Typical vendor products – IBM DB2
Benefits/Drawbacks
- Hardware
+ Large number of third party hardware options and add-ons available
+ Robust upgrade path
+ Good vendor support
+ Disaster recovery options available
– Initial hardware purchase and
– High environmental costs (less for CMOS, more for water-cooled)
– Multiple applications can be affected by hardware failures (Sysplex will correct this)
- Operating System
+ Able to support thousands of concurrent users
+ Large number of third party applications available
+ Good vendor support
+ Excellent security mechanisms
– Complex to install, administer and upgrade third party software
– Third party applications and tools can be very costly
- Database Software
+ Tight integration with operating system and transaction monitors
+ Large number of administrative tool sets are available
+ Large number of third party database applications available
– Somewhat inflexible
– Complex to administer
– DB2 lags behind enterprise tier competitors (Oracle, Sybase) in advanced performance options (parallel query, bit map indexing)
– DB2 lags behind enterprise tier competitors (Oracle, Sybase) in advanced database options (web access, text search, spatial data management, video/audio storage and retrieval)
– Oracle unable to take advantage of large database buffers
– DB2 known for poorly performing locking mechanisms
– DB2 requires that data be in order for good performance
- Database Environment (hardware, operating system, database software viewed as a single entity)
+ Lower startup costs. Mainframe applications are usually charged on a monthly basis for resource utilization as opposed to other architectures which require that hardware and software be purchased up front.
+ Provides better security, reliability and availability than all other architectures.
+ Able to support a large number of concurrent users
– Complex to administer
– Large number of support units sometimes complicates communications
– Limited number of database performance options and database add-ons available
– Memory available to applications is shared by all users
Typical Applications
- Multi-user database with multiple query and update sources is acceptable
- Number of concurrent users ranging from hundreds to thousands
- Architecture easily supports heavy batch, OLTP and DSS applications
- Applications that require moderate/heavy communication with existing mainframe applications
Numerical Ratings (0 – least favorable, 10 – most favorable)
- Cost (Rating 8)
- Performance (Rating 8)
- Reliability – 10
- Ease of use – 6
Attachment 1 – Architecture Tiers Comparison Table
The table below can be used to quickly compare the different architecture tiers. Each of the architectures are graded from 1 to 10 with 10 being the most favorable grade. A 0 rating means that the architecture is unable to provide that criteria.
The importance of a particular criteria depends on the application being evaluated. For example, is having the ability to use a transaction monitor important to a departmental application that has 60 concurrent users? Probably not. Is it important to an application that has hundreds of concurrent users? Probably so. Each criteria must be judged on a one by one basis for the application being evaluated. Rank the criteria that is important to the success of the application higher than others during evaluation.
Criteria / Architecture |
Personal |
Departmental |
Enterprise |
Mainframe |
Ability to accommodate large number of concurrent users |
1 |
5 |
8 |
10 |
Ability to accommodate large amount of stored data |
1 |
7 |
8 |
10 |
Disaster recovery |
0 |
0 |
8 |
9 |
Database ratings |
|
|
|
DB2 (9) |
Ease of use (overall) |
10 |
8 |
6 |
6 |
Ease of data access |
10 |
9 |
9 |
7 |
Ease of administration |
10 |
9 |
7 |
8 |
Flexibility |
9 |
9 |
7 |
7 |
Initial architecture cost (hardware, O/S, RDBMS) to user |
9 |
7 |
5 |
9 |
Number of third party applications available |
5 |
7 |
9 |
8 |
Number of third party tools available |
2 |
6 |
8 |
10 |
Operating system ratings |
|
|
|
|
Performance (overall) |
2 |
7 |
8 |
9 |
Performance (Online Transaction Processing) |
2 |
7 |
8 |
10 |
Performance (Decision Support) |
2 |
5 |
8 |
7 |
Reliability |
2 |
6 |
8 |
10 |
Security |
2 |
5 |
7 |
9 |
Scalability |
2 |
6 |
8 |
9 |
Transaction monitor ratings |
0 |
7 |
7 |
9 |
Vendor Support |
6 |
8 |
9 |
9 |
Attachment 2 – Database Architecture Worksheet
This worksheet can be used to help determine the optimal architecture for a given application. The final decision of the architecture should not be done in a vacuum or based on personal preference. As I stated previously, the safest and easiest way for any application to choose the correct environment is enlist the help of an Application Architectures Team. This part time team should contain individuals who have the expertise necessary to choose the correct architecture for any given application.
A : is placed under each of the architectures that generally meets the requirement listed on the left. A blank means that although this architecture may not be the architecture that best meets the requirement, it should still be considered as a viable alternative. A h placed under the architecture means that if the requirement being evaluated is truly important to the application, that architecture must no longer be considered as a viable alternative and should be removed from the evaluation process. Add the : that are important to the success of the application to get a general rankings of the different architectures.
Requirement / Architecture |
Personal |
Departmental |
Enterprise |
Mainframe |
1 to 4 or 5 users with single update source |
: |
: |
: |
: |
2 to 40 or 50 concurrent users |
h |
: |
: |
: |
20 to 600-700 concurrent users |
h |
: |
: |
|
Thousands of concurrent users |
h |
h |
: |
|
MEGs to 1 GIG of DASD |
: |
: |
: |
: |
MEGs to 50 GIG of DASD |
: |
: |
: |
|
100s GIG of DASD |
h |
: |
: |
|
1000s GIG of DASD |
h |
h |
: |
: |
Extensive access to other mainframe applications |
: |
|||
Heavy decision support |
h |
: |
: |
|
High performance/availability is major concern |
: |
: |
||
Initial costs primary factor |
: |
: |
: |
|
Application performance being impacted by month end |
: |
: |
: |
|
Large amount of batch processing required |
h |
h |
: |
: |
No. of third party tools available |
: |
: |
: |
Application wants to share administrative duties with IT |
: |
h |
h |
|
Low costs for database and third party applications |
: |
: |
||
Mission critical application |
h |
UNIX(: ) NT( ) |
: |
: |
Take advantage of leading edge database technology |
: |
: |
||
Require database support |
h |
: |
: |
: |
Require disaster recovery backup |
h |
: |
: |
|
Robust systems management |
h |
: |
||
Robust security required |
h |
: |
||
Scalability |
: |
: |
: |
|
Flexibility/overall ease of use |
: |
: |
||
Transaction monitor required |
h |
: |
: |
Attachment 3 – TPC (Transaction Processing Council) Benchmarks
This document contains many references to the TPC (Transaction Processing Council) when discussing database architecture tier performance. The TPC is a non-profit corporation founded to define transaction processing and database benchmarks and to disseminate objective, verifiable TPC performance data to the industry.
Throughput, in TPC terms, is a measure of maximum sustained system performance. In TPC-C, throughput is defined as how many new-order transactions per minute a system generates while the system is executing four other transactions types (payment, order-status, delivery, stock-level). In TPC-D, throughput is defined as how many decision support transactions per minute a system generates while processing other decision support requests. In general, TPC benchmarks are system-wide benchmarks, encompassing almost all cost dimensions of an entire system environment the user might purchase, including terminals, communications equipment, software (transaction monitors and database software), computer system or host, backup storage, and three years maintenance cost. Performance or price/performance may be more important, depending on application requirements. If the application environment demands very high, mission-critical performance, then you may must give more weight to the TPC’s throughput metric. Generally, the best TPC results combine high throughput with low price/performance. TPC-C and TPC-D results for many popular platforms are available from the Transaction Processing Council’s home page of current TPC-C and TPC-D performance figures www.tpc.org. (TPC-COUNCIL)
Attachment 4 – List of Acronyms