“O what a tangled web
we weave...”
--Sir Walter Scott
Introduction
A recent issue of DB2 Magazine (Vol. 7, No. 4, 4th
quarter 2002) included articles with titles as follows:
·
"A SMARTer DB2" (by Sam S. Lightstone,
Guy M. Lohman. Bryan F. Smith, Randy Horman, and Jim Teng)
·
"Database Technology Leaps Ahead" (by
Philip Gunning)
The first, which I'll call the SMART paper, was concerned
with a project at IBM to make DB2 more self-managing; the second, which I'll call
the Version 8 paper, was concerned with features added to IBM's DB2 Universal
Database product in Version 8.1. Both
were interesting and informative.
However, I couldn't help noticing what might be called a slight disconnect
between them. Now read on ...
The Smart Paper
Here's the opening paragraph from this paper:
“Wouldn't it be nice if your database were as easy to manage as
your refrigerator, automatically regulating its operation based on the settings
of a couple of knobs and initiating maintenance operations that would
periodically "defrost" your data without your intervention? That's the goal of the Self-Managing And
Resource Tuning (SMART) project at IBM: to reduce the cost of tuning and
managing DB2 Universal Database (UDB).”
Let me state immediately that I'm in complete agreement with
the objective here. Today's DBMS
products have become much too difficult to configure, tune, and maintain
(DB2 isn't the only culprit in this regard), and the DBAs job has become
virtually impossible. It's sad,
really. Codd himself is on record (in
his paper "Recent Investigations into Relational Data Base
Systems," Proc. 1974 Congress, Stockholm, Sweden, 1974) as stating
that one of his objectives in introducing the relational model was "to
simplify the potentially formidable job of the database
administrator." What would he make
of the present situation? (I used to
joke in seminars that before they were done, the folks at IBM would make DB2
just as complicated as IMS ever was.
Well, I think they succeeded.
Though, to say it again, it isn't just DB2; SQL products in general are
much too hard to administer.)
The paper goes on to describe a long list of aspects of the
SMART project that should eventually help to make DB2 easier to
administer. And it concludes as
follows:
“The many
self-managing features you enjoy in DB2--and many more you may not even be
aware of--are just the tip of the iceberg.
In upcoming releases, look for many more SMART features in DB2 and
increasingly autonomic behavior from many other IBM hardware and software
products. Of course, the ultimate goal
is to reduce what you see and take care of everything behind the scenes--just
as your refrigerator does.”
I can only applaud.
The Version 8 Paper
Hats off, then, to the SMART project (obviously a good
idea). But what's the reality? What follows is a series of quotes from the
Version 8 paper--many of them, though not all, taken from a section entitled
"Manageability" (!). I leave
it to you to decide for yourself how many of the features mentioned require
human decisions and thus don't exactly conform to the SMART objectives. Note the repeated use of words such as option,
select, can, etc.
·
If you specify the COPY NO option [on online load] ...
·
With the READ ACCESS option of the load command ...
·
The new option LOCK WITH FORCE [on the load command]
...
·
The ... load utility no longer requires the SET
INTEGRITY statement ...
·
The LOAD QUERY command now returns...
·
LOAD QUERY can [now] also query table states ...
·
You can select a Load Wizard...
·
You can choose from a list of instances, databases, and
tables...
·
Make your ... selection and the wizard presents you
with an option dialog ...
·
Select the options you want ...
·
You can launch almost all the new wizards in this
way ... [italics added]
·
A new FLUSH PACKAGE CACHE SQL statement ...
·
This capability will be useful in conjunction with the
new online update of database manager (DBM CFG) d database configuration (DB
CFG) parameters ...
·
[You] can now specify the logpath through the
MIRRORLOGPATH DB CFG parameter ... This new parameter replaces the previous
registry variable DB2NEWLOGPATH2 ...
·
The BLK_ON_LOG_DISK_FUL registry variable has been
replaced with the new database configuration parameter BLK_LOG_DSK_FUL [note
the different spellings!]...
·
… DB2 will retry the write to log every five minutes,
giving you time to resolve the disk full condition ...
·
You no longer have to specify Coordinated Universal
Time ... [Instead,] you can now specify local time ...
·
The level of information is controlled by the new
NOTIFYLEVEL database configuration parameter ...
·
You can use the ... QUIESCE command [to specify a new
database maintenance mode]...
·
The UNQUIESCE command takes the database out of [this
new mode]...
·
REORGCHK now includes an ON SCHEMA option...
·
RUNSTATS can now collect [new statistics]...
·
RUNSTATS can now also accept [further new
parameters]...
·
The new Health Monitor ... can raise alerts when
predefined thresholds are exceeded...
·
Simply click on the Launch button to ... analyze
[output from the new Health Monitor]...
·
You can create event monitors...
·
You can write customized queries containing event
monitor data and produce reports...
·
[You] can now take snapshots through SQL table
functions...
·
The new INSTEAD OF trigger extends the ability to
update views...
·
New Informational Constraints [can be specified]...
·
New options on the ALTER TABLE statement (ENABLE QUERY
OPTIMIZATION or DISABLE QUERY OPTIMIZATION) ...
·
[Materialized Query Tables] are managed by the user ...
and are distinguished by the MAINTAINED BY USER option of the CREATE SUMMARY
TABLE statement...
·
You can now use block-based buffer pools ... [by
specifying the] BLOCKSIZE parameter of the CREATE or ALTER BUFFERPOOL
statement...
·
You can enable [the new feature for compression of
nulls and defaults] ... by using the VALUE COMPRESSION and COMPRESS SYSTEM
DEFAULT clause [sic] of the CREATE TABLE statement...
·
[Asynchronous I/O] must be enabled before ...
installation ... Two ... parameters that you can tune are MINSERVERS and
MAXSERVERS...
·
You can enable this new feature by setting
MAX_CONNECTIONS greater than the value of MAX_COORDAGENTS...
·
The NOT LOGGED clause ... is now optional...
·
You can now create an index on a temporary table and
run RUNSTATS...
·
[The new] type-2 indexes are required for online load,
online reorganization, and MDC...
·
A table can't have a mix of type-1 and type-2
indexes...
·
Tables can be migrated to type-2 indexes via index
reorganization...
·
New commands give you the capability to monitor...
·
Reorganization ... can [now] be paused and resumed...
·
Note that online table reorganization is only allowed
on tables with type-2 indexes...
·
A new REORG INDEXES command...
·
You can set more than 50 configuration parameters
online...
·
The GET DB CFG and GET DBM CFG commands now feature a
SHOW DETAIL option...
·
A few of these parameters can be set to
automatic ... [italics added]
·
[You can] use the new BEGIN NEW STRIPE SET option of
the ALTER TABLESPACE command...
·
These operations can be performed online...
·
A new INSPECT command ...
·
A new command ... DB2SUPPORT ...
·
The Database Analysis and Reporting Tool ... is now
supported ... Use [it] to diagnose ... and repair ...
And finally:
·
Through autonomic computing and the SMART initiative,
IBM has made DB2 ... easier to operate and manage ...
What do you think?
Conclusion
Further comment seems superfluous.
Posted
03/14/03
[ABOUT]
[QUOTES]
[LINKS]