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.
The technical duties of the DBA are numerous. These duties span the realm of IT disciplines from logical modeling to physical implementation. These days, modern database administration staffs must take on work outside the scope of the traditional DBA duties. The DBA is more and more being viewed as a technician who can take on multiple roles within IT and the business. Sure, the DBA must be adept at creating and maintaining databases, be he must also be savvy at managing and controlling technology that interacts with database systems.
The DBMS does not exist in a vacuum. It must interact with other components of the IT infrastructure. As such, the DBA must be able to work with these other components. Examples of technologies with which DBAs must be conversant include application server management and tuning, network management, production control and scheduling, as well as many other systems management disciplines. Failure to diversify can render a DBA obsolete.
Indeed, 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. Many organizations are not running with the most current version of the DBMS. Think about it. Are you running Oracle10g yet? DB2 V8? And how fast will you migrate to SQL Server 2005 when it becomes generally available?
But technology is not the only challenge facing modern DBAs. Knowledge of the business is also mandatory. Companies that implement ERP applications require their DBAs to understand the business as they implement and administer the databases for these systems. Furthermore, failing to understand how technology and business interact can result in lost business. A DBA must know how each database and transaction impacts the business in order to prioritize his workload. Otherwise, confronted with two database outages, how would the DBA know which one to work on first? Obviously, the one that is most critical to the business should be the priority, but this requires knowledge of the business, doesn’t it?
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 fully intelligently automate our DBA jobs. By automating some of the tedious day-to-day tasks of database administration, we can help to simplify this complex environment and reduce manual errors.
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 advisor.
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 applications.