Managing Databases with Autonomics

Many database management tasks that traditionally required oversight and handholding by DBAs can, over time, be turned over to intelligently automated software to manage. The key words in that sentence are “over time” and “intelligently.” Oh, sure, we have automated things for ages, whether it be generated scripts, a scheduled reorganization or backup job, or a series of scripts to make changes to database structures.

By developing computerized applications to support business processes, we automate just about every task in our organizations. But, for the most part, these automated steps still require significant manual interaction or intervention.

Autonomics is the migration from simple automation to managing your databases with intelligent software techniques.

Autonomics

So what are autonomics? Autonomic computing refers to the self-managing characteristics of distributed computing resources, adapting to unpredictable changes while masking the complexity from operators and users. Autonomics implies much more than simple automation.

The goal of autonomics is to enable computer systems, in this case the DBMS, to be capable of managing itself. Autonomics requires an awareness of the environment, knowledge of changing usage patterns and resources, and the ability to adapt to shifting requirements. Through autonomics it is possible to optimize manual tasks and reduce the growing levels of complexity. This is particularly important in the current day and age of running lean IT staffs.

At a high-level, there are four aspects of autonomic computing:

  1. It is automatic, meaning it can make decisions on its own, using performance and usage metrics and high-level policies developed by administrators.
  2. It is adaptive, meaning it can automatically adjust to changing conditions.
  3. 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.
  4. It is self-managing, meaning it can optimize and administer itself without human interaction being required.

Of course, there are many components of the “self” management aspect of autonomics. Autonomic systems can support many different types of self-management capabilities, such as:

  • Self-configuration: Automatic configuration of the system and its components;
  • Self-healing: Automatic discovery, and correction of faults;
  • Self-optimization: Automatic monitoring and control of resources to ensure the optimal functioning with respect to the defined requirements;
  • Self-protection: Proactive identification and protection from arbitrary attacks.
  • Self-inspection: Understands itself and its interactions with other systems in order to make intelligent decisions;
  • Self-organization: Proactive modification of data structures and organization to optimize access.

As with most things, it is not reasonable to expect organizations to jump right into a full-blown implementation of autonomics. There are 5 levels of gradation for autonomic computing that can be adopted. These can be summarized as:

  1. Basic
  2. Managed
  3. Predictive
  4. Adaptive
  5. Fully autonomic

The first three levels are passive, meaning that the system advises an administrator that corrective actions are needed, but nothing is automatically performed. The Basic level is essentially through human effort, IT professionals are used to manage the appropriate tasks through their own abilities and experiences. The Managed level augments human effort with management technologies and techniques. And the third level is where we really start to see a more autonomics-focused approach. This Predictive level introduces new techniques and methodologies for correlation among different components.

Then we move into the active levels, where corrective actions are automatically taken. The Adaptive level uses the metrics and information it has gathered 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 vs. not just identifying the issues but also taking action to remediate the issues.

Trust, but Verify

An evaluation of the accuracy of the autonomic capabilities by trusted advisors is an important part of the continuum of moving to autonomics. It never fails that when a technician is first exposed to autonomics, skepticism is aroused. For example, a DBA told that some piece of software is going to make automatic adjustments to parameters, jobs or data will usually say something like “Wait-a-minute! First tell me what the problem is, along with what you suggest I should do.”

The DBA wants to look at the recommendations and develop a level of trust in the technology. That is the first phase for autonomic software. You can break problem solving down into three high-level steps:

  1. Find the problem
  2. Analyze the situation for a solution
  3. Implement the solution

DBAs readily accept automating the first two steps but the last one usually takes some time. After a period of time reviewing the proposals raised by the software, a technician will begin to trust a well-written and developed autonomic solution. At that point it can be turned on as fully autonomic… not just finding the problem, and performing analysis to find a solution, but also automatically fixing the problem.

Modern Database Administration Requires Autonomics

Today’s IT world is defined by growing amounts of data, ever-changing DBMS functionality and heterogeneous environments. Couple that with retiring mainframe expertise and few new DBAs being hired and it is easy to see that managing to best practices becomes untenable.

Autonomics is the key to being able to manage a modern database implementation. We see vendors incorporating more and more autonomics features into the base DBMS functionality. This can be seen in features performance profiles, real time statistics, performance feedback, and even machine learning being incorporated into the database optimizer.

And you can augment whatever type of autonomics available in the DBMS with sophisticated tools and utilities that take advantage of the features and metrics provided within your DBMS to constantly monitor, manage and optimize your applications and databases.

About craig@craigsmullins.com

I'm a data management strategist, researcher, and consultant with over three decades of experience in all facets of database systems development and implementation.
This entry was posted in DBA and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.