Intelligent Database Management
By Craig S. Mullins
It is hard to get good help these days. There are more job openings for
qualified, skilled IT professionals, than there are individuals to fill the
jobs. And one of the most difficult IT positions to fill is the DBA. DBAs
are specifically hard to recruit because the skills required to be a good
DBA span multiple disciplines. These skills are difficult to obtain, and to
make matters more difficult, the required skill set of a DBA is constantly
To effectively manage enterprise databases, a DBA must understand both the
business reasons for storing the data in the database and the technical
details of how the data is structured and stored.
The DBA must understand the business purpose for the data to ensure that it
is used appropriately and is accessible when the business requires it to be
available. Appropriate usage involves data security rules, user authorization, and ensuring data integrity. Availability involves database
tuning, efficient application design, and performance monitoring and tuning.
These are difficult and complicated topics. Indeed, entire books have been
dedicated to each of these topics.
Duties of the DBA
The technical duties of the DBA are numerous. These duties span the realm of
IT disciplines from logical modeling to physical implementation. The following list comprises most of the duties performed by
- Data modeling and database design: DBAs must possess the abilities to
create, interpret, and communicate a logical data model and to create an
efficient physical database design from a logical data model and application
- Metadata management and repository usage: DBAs need to collect, store,
manage, and query data about the data (metadata) in the database and
disseminate it to developers that need the information to create effective
- Database schema creation and management: After a physical database design
has been created the DBA must be able to translate that physical design into
an actual physical database implementation using DDL and to manage that
database once it has been implemented.
- Procedural skills: A DBA must be able to design, debug, implement, and
maintain stored procedures, triggers, and user-defined functions that are
stored in the DBMS.
- Capacity planning: Because systems are not static, the DBA must be able
to predict growth based on application and data usage patterns and implement
the necessary database changes to accommodate the growth.
- Performance management and tuning: A proactive monitoring system is
essential to ensure efficient database access. The DBA must be able to
utilize the monitoring environment, interpret its statistics, and make
changes to data structures, SQL, application logic, and the DBMS subsystem
to optimize performance.
- Application SQL design reviews: A DBA must understand SQL, the standard
relational database access language. Furthermore, the DBA must be able to
review SQL and host language programs and to recommend changes for
- Backup and recovery: Data in the database must be protected from
hardware, software, system, and human failures. The ability to implement an
appropriate database backup and recovery strategy based on data volatility
and application availability requirements is required of DBAs.
- Ensuring data integrity: DBAs must be able to design a database so that
only accurate and appropriate data is entered and maintained.
- General database management: The DBA must possess knowledge of the rules
of relational database management and the ability to accurately communicate
them to others.
- Data security: DBAs are required to implement rigorous security schemes
for production and test databases to ensure that only authorized users have
access to data.
- General systems management and networking
skills: The database does not exist in a vacuum. It must interact with other components of the IT
infrastructure. As such, the DBA must be able to integrate database
administration requirements and tasks with general systems management
requirements and tasks such as network management, production control and
scheduling, and problem resolution, to name just a few systems management
- ERP and business knowledge: A DBA must be able to understand the
requirements of the application users and to administer their databases to
avoid interruption of business. This includes understanding how any ERP
packages impact the business and how the databases used by those packages
differ from traditional relational databases.
- Extensible data type administration: Most relational database products
provide the ability to extend the data types being managed to include
complex, unstructured multimedia data. DBAs need to understand how to
implement and administer any extended data types implemented in the DBMS.
A Lot of Effort
Implementing, managing and maintaining complex database applications spread
throughout the world is a difficult task. To support modern applications a
vast IT infrastructure is required that encompasses all of the physical
things needed to support your applications. This includes your databases,
desktops, networks, and servers, as well as any networks and servers outside
of your environment that you rely upon for e-business. These things, operating together, create your IT infrastructure. These disparate elements
are required to function together efficiently for your applications to
deliver service to their users.
But these things were not originally designed to work together. So not only
is the environment increasingly complex, it is inter-related. But it is not
necessarily designed to be inter-related. When you change one thing, it
usually impacts others. What is the impact of this situation on DBAs?
Well, for starters, DBAs are working overtime just to support the current
applications and relational features. But new RDBMS releases are being made
available faster than ever before. Just recently Microsoft has announced SQL
Server 2000, right on the heels of the very new SQL Server 7. And IBM has
announced DB2 Version 7, even though Version 6 was just released last year
and most users have not yet migrated to V6.
So, the job of database administration is getting increasingly more
difficult as database technology rapidly advances adding new functionality,
more options, and more complex and complicated capabilities. But DBAs are
overworked, under-appreciated, and lack the time to gain the essential
skills required to support and administer the latest features of the RDBMS
they support. What can be done?
One of the ways to reduce these problems is through intelligent automation.
As IT professionals we have helped to deliver systems that automate multiple
jobs throughout our organizations. That is what computer applications do:
they automate someone's job to make that job easier. But we have yet to
intelligently automate our DBA jobs. By automating some of the tedious
day-to-day tasks of database administration, we can free up some time to
learn about new RDBMS features and to implement them appropriately.
But simple automation is not sufficient. The software should be able to
intelligently monitor, analyze, and optimize applications using past, present, and future analysis of collected data. Simply stated, the software
should work the way a consultant works--fulfilling the role of a trusted
This advisor software should collect data about the IT environment from the
systems (OS, DBMS, OLTP, etc.), objects, and applications. It should require
very little initial configuration, so that it is easy to use for novices and
skilled users alike. It should detect conditions requiring maintenance
actions, and then advise the user of the problem, and finally, and most
beneficial to the user, optionally perform the necessary action to correct
the problems it identifies. Most management tools available today leave this
analysis and execution up to the user. But intelligent automation solutions
should be smart enough to optimize and streamline your IT environment with
minimal, perhaps no, user or DBA interaction.
The end result, software that functions like a consultant, enables the
precious human resources of your organization to spend time on research,
strategy, planning, and implementing new and advanced features and technologies.
Only through intelligent automation will we be able to deliver on the promise of technology.
As IT tasks get more complex and IT professionals are harder to employ and
retain, more and more IT duties should be automated using intelligent management software. This is especially true for very complex jobs, such as
DBA. Using intelligent automation will help to reduce the amount of time,
effort, and human error associated with managing databases and complex
Trends, August 2000.
© 2000 Craig S. Mullins, All rights reserved.