The clear trend these days is to automate and enable computerized tasks to streamline and optimize administrative and maintenance tasks. Many database management tasks that today require oversight and handholding by DBAs can, over time, be turned over to intelligently automated software to manage.
But automation is just the first step. With autonomic computing, we can turn over many ongoing DBA tasks to the computer to manage. But what are autonomics? Autonomic computing refers to the self-managing characteristics of distributed computing resources that are adapting to unpredictable changes while hiding intrinsic complexity to operators and users. Autonomics implies much more than simple automation.
The goal of autonomics is to enable computer systems and software to manage themselves. It requires an awareness ofthe environment, knowledge of changing usage patterns and resources, and the ability to adapt to shifting requirements.
One of the most significant benefits of autonomics is that it can be used to more optimally manage systems as complexity expands. And let’s face it: Complexity is a significant driving issue in organizations today. The average complexity of each piece of software and device we use is increasing as functionality is added with every new release and version.
Complexity is also increasing because the number of systems that interoperate with each other continues to grow. Connections are made between systems that were never originally intended to share data or processing.
So what makes up an autonomic system? At a high level, there are four aspects of autonomic computing. It is automatic, meaning it can make decisions on its own using accumulated performance and usage metrics and high-level policies developed by administrators. It is adaptive, meaning it can automatically adjust to changing conditions. It is aware, meaning the system can monitor (or sense) its operational context as well as its current state to determine if it is reaching its specific purpose. And, finally, it is self-managing, meaning it can optimize and administer itself without human interaction being required.
Autonomic systems must be capable of sensing the system and its related components. Furthermore, an autonomic system must possess domain knowledge of the purpose and how to operate without external intervention. An autonomic system can incorporate machine learning so that it learns as it manages itself and becomes more adept over time.
In thinking about autonomics in terms of database administration, we see more intelligent DBA tools and utilities being introduced all the time. There are database tools that can determine what needs to be reorganized, how much work can be done in an allotted timeframe, and the appropriate parameters to choose to minimize impact to workloads running at the same time. Furthermore, performance management tools are increasingly gaining functionality that combines monitoring for suboptimal situations, analysis to determine the root cause, intelligently formulating a corrective action, and scheduling the application of the fix.
As with most things, it is not reasonable to expect companies to jump right into a full-blown implementation of autonomics. There are five levels of autonomic computing that can be attained. The first three levels are passive, meaning that corrective actions may be advised but are not automatically taken. Level one, the Basic level, is essentially done through human effort; IT professionals manage the appropriate tasks through their own abilities and experiences. Level two, the Managed level, augments human effort with management technologies and techniques. The third level is the Predictive level, where we start to see a more autonomics-focused approach. This level introduces new techniques and methodologies for correlation among different components.
Then, we move into active autonomics, where corrective actions are taken automatically. Level four, the Adaptive level, uses gathered information to automatically take actions as needed. And the final level, the Autonomic level, actively monitors and analyzes business policies and objectives—and can even change these policies and objectives based on new observations. Basically, it all boils down to identification of issues versus not just identifying the issues but also taking action to remediate the issues.
As database tools gain more autonomic capabilities, DBAs will need to evaluate the efficacy of the actions these tools take and plan to rely more heavily on computer-assisted management. As we gain more data, on more types of database systems, without adding the same percentage of DBAs to manage this onslaught, our only hope of keeping up is by using autonomic DBA tools and utilities.