Recently I’ve received some questions/criticism about software (DBMS) self-management as a goal, not specifically regarding SQL Anywhere but in more general terms. The argument is that while self-management is a worthwhile vision, it’s a utopia that is unachievable. What’s implied is that because this utopian vision can’t be implemented, any efforts toward self-management aren’t worthwhile.
I’m not naive enough to believe that we’ll achieve utopia in my lifetime, but I disagree that efforts towards self-management aren’t worthwhile. I believe that software usability is a big deal, and anything that lessens the administration/configuration effort of a software package is worthwhile. That goal is applicable to any software product, not only database systems.
When you think about, self-management within a database management system is primarily about implementing solutions to problems that as an industry we already know how to solve: dynamic buffer pool management, dynamic access plan changes, self-tuning histograms have been studied for years, and the best place in which to make behaviour changes to this functionality is within the database server itself. Histograms are a good example: the server is in the best position to determine the number of buckets necessary for any particular histogram, taking into account the number of values and their distribution. There is no need whatsoever to make the DBA decide this; the level of expertise necessary to make a “good” decision is exceedingly rare.
In a nutshell the goal of self-management technology is to achieve superlative performance out-of-the-box, and that is a very worthwhile goal. However, self-management technologies by themselves do not eliminate the need for capacity planning, performance analysis, or problem determination. What self-management does do is permit the DBA to focus on the larger problems, some of which are:
- identifying where to place specific functionality in an end-to-end application: in the client, in a mid-tier, or on the server itself.
- identifying and solving application scalability issues.
- making it significantly easier to conduct capacity planning.
- supporting logical and physical schema design.
- improving application developer productivity.
As an industry, we need to get beyond the nuts-and-bolts of specific self-managing algorithms within the server, and start to look at tools and techniques that address these larger issues.

Glenn Paulley is a Director of Engineering at Sybase iAnywhere.

0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment
Note that all comments are currently being moderated until I have a better handle on spam, so your comment may not appear for a couple of hours