| Craig S. Mullins
Software Scrubbing Bubbles
By Craig S. Mullins
There is no denying that information technology and systems are getting more complex. And one of the most complex areas of IT is database management and administration. As more and more functionality is added to the DBMS, more time, effort, and diligence is required to keep databases up and running. Organizations need proactive, intelligent software that can offload administrative tasks from database administrators to computers. You can think of this as a software scrubbing bubble. You remember that old commercial where the scrubbing bubbles clean the bathtub the bubbles "work hard so you don't have to!" The same concept can apply to database administration.
What is the problem?
The crux of the problem is three-fold: more applications rely on database technology than ever before, DBMS products are more complex than ever before, and the environment is more complicated. Most modern applications are designed to store data using a database. Whether the application is on the mainframe using DB2, on a Unix platform using Oracle or Sybase, or on a Wintel platform using Microsoft SQL Server the database in the central storage mechanism for the application. Even third party applications such as Baan, Peoplesoft, and SAP R/3 require a relational database for storing data. To make matters worse, sometimes the organizations implementing these applications have little or no database management experience.
The second part of the problem is the complexity of modern database management systems. Traditionally the purpose of a DBMS has been to store data. But to succeed in the late 1990's an RDBMS must store both data and code (in the form of triggers, procedures, and complex objects). Storing code in the database complicates database administration. Furthermore the type of data being stored is also more complex. The clear trend is for the major DBMS vendors to provide object/relational functionality which enables the usage of rich, complex data types such as audio, video, text, and the like. On top of that more access paths, additional methods of data distribution, more robust data sharing and parallel processing makes database management a truly complex discipline.
The third component of the problem is the overall complexity of the environment in which databases must operate. The client/server revolution of the late 1980s and early 1990s changed the model for application development. Instead of using a single, centralized system, applications are now developed to run on distributed, heterogeneous platforms. Multiple types of hardware, operating systems, networks, and platforms are melded together into a complex system that must be vigilantly monitored and maintained in order for applications to function properly. It is quite common for a single application to require Windows as the front end, in combination with a Unix machine running Oracle as the data server communicating to the mainframe running DB2 for access to legacy data. Add the web into the mix and you've got quite a complicated system!
What do DBAs do to Keep Databases Available?
The primary job of a database administrator is to keep the database up and running. If the database is not available, the data is not available, and applications stop running. If the application stops running, business grinds to a halt. This can have a huge financial impact on the organization. For example, consider the impact on a retail outlet if its credit card processing system fails during the Christmas season. Or the impact on a stock trading system if it fails during trading hours.
To keep databases running smoothly DBAs must be able to design efficient databases with appropriate indexes for high availability. Once designed, the databases must be implemented and monitored for access and volume changes that require design modifications or tuning. They must be able to rapidly effect database change with minimal or no downtime. The DBA group must be able to perform on-going maintenance such as reorganization with minimal impact to data availability. Backup and recovery policies and procedures must be produced to enable DBAs to quickly bring databases back on-line in the event of systems problems or a major disaster. In short, the DBA must be able to ensure consistent, efficient data access to ensure that the organization can continue doing business and making money.
The job of database administration can be made easier by offloading manual, error-prone tasks to the computer. Intelligent database administration software is available today that can greatly simplify DBA tasks.
One example is database performance management agents. A software agent runs on the server where the DBMS resides and monitors database activity. The agent is empowered to take corrective actions when the health of the database falls outside of prescribed thresholds. Agents are event-driven, autonomous, and dynamic enabling proactive database tuning without manual intervention.
Another example is an emerging category of tool known as index analysis and design. This type of DBA tool analyzes actual SQL and data access patterns and determines the optimal indexes that should be created for the database. The index analysis and design tool utilizes a set of rules and an expert system to determine what is the best index for any given situation. The result is a better designed database that runs faster and provides better data availability because the indexes were designed properly from the start.
As database management gets more complex more and more of the administrative duties will be turned over to the computer via software scrubbing bubbles. If computerized methods can be used to optimize performance the amount of time, effort, and human error associated with database administration will decrease. And data availability and corporate revenue will increase which is really what it is all about anyway.
From Computing News and Review, June 1998.
© 1999 Mullins Consulting, Inc. All rights reserved.
Home. Phone: 281-494-6153 Fax: 281-491-0637