Be Careful In What You Prove
I have recently been researching scuba diving sites within the USA for a
possible series of articles for a scuba magazine. Believe it or not, I do have
interests outside of Oracle! One of the sites, Rock Lake, Wisconsin is of
particular interest for what lies beneath its turgid waters. But if I reveal too
much now it might dilute the future article. What it has brought to light is the
fact that you must be careful not only in what you believe to be true but in
what you prove to be true. The tales of what lay beneath Rock Lake vary from
lost Atlantis to only legends. I am sure if the two camps were brought together,
bloodshed would ensue as each defended their point of view. To each of the
camps, what they believe is the truth.
Many people believe that truth is immutable, that what is true now is always
true. However, times change, technology changes, even (especially) theology. It
was not so long ago that respected scientists believed that a Doctor washing his
hands was not professional, that traveling at speeds in excess of 30 miles per
hour would do irreparable damage to the human frame, that traveling faster than
the speed of sound would result in a crash much like hitting a brick wall, or
that setting off an atomic bomb would ignite the atmosphere and annihilate
mankind.
Of course all of the above has been proven incorrect. Now there are those that
propose that the cherished notion that the speed of light is absolute is also a
myth that will be dispelled with time (believe it or not, the "warp" drive of
Star Trek fame has a basis in theoretical physics, of course it requires more
energy than we can currently produce, but in medieval times wouldn't all of our
current technology give us a one way ticket to the witches bonfire? ) however,
as much energy as we can currently produce is perhaps a far cry from as much
energy as we can produce. Some go as far as to claim that some super-novas are
proof that some technologies lost control of zero-point energy.
So also must we view "proofs" given of things that are acceptable incurrent
technology, in Oracle and in other technologies, as only transient in nature?
Watch out that the "proofs" of today don't become tomorrows old wives tales.
For example, it wasn't too long ago that separation of indexes and tables in
databases was a good and accepted method for improving performance. Of course
this was because otherwise they would be on the same disk platter if they
weren't separate and would conflict. Now of course with the almost universal
implementation of RAID technology (redundant arrays of independent/inexpensive
disks) this becomes unneeded (sometimes, depending on the amount of data stored
on each disk in the array). It could be demonstrated, when they shared a single
disk, that moving indexes away from tables improved performance. Based on that
proof, no longer valid, some will say that moving indexes away from tables
always improves performance.
Likewise the old saw that moving to RAW devices in UNIX (raw meaning the
application was responsible for IO) would result in large improvements in
performance. This of course was based on the premise that all of the buffering
in the OS for non-raw filesystems caused delays. Now modern file systems can be
set to eliminate this buffering and journaling delays and the performance gains
from raw have diminished to nearly null. Of course rebuilding the objects within
the databases involved, (tables and indexes) restoring them to proper parameters
that they may have exceeded through years of neglect also helped.
So now we have a new crop of experts providing proofs (sometimes limited to a
single-user, small database on a laptop) that their methods are the best and no
doubt their proofs will be sited long after they are useful or meaningful and
their expert advice will fade into old DBA tales as new technologies and methods
become the rage. This is as it should be.
I guess I am trying to say, in a rambling way, that today sage advice becomes
tomorrows old tale. We must all be aware of what the current methods are,
realize when the old methods no longer apply, and gracefully accept new ways if
we are to grow and prosper. However, we must also recognize when the "proper"
method evolves and mutates into a "new" method, leaving the old ways to die
away.
So be careful in what you prove and how you prove it. What seems clever today
may come back to haunt you. You may be apologizing several years down the road
for what is right now, but not in the future. The net is an amazing place. No
doubt you can find numerous places where I may have expounded on the virtues of
separation of indexes and tables, on rebuilding indexes frequently or other
items that have since been proved, for current versions, old DBA tales. I like
others before, am not immune to time and neither is my advice.
If any paper you read is older than a year or two, I suggest you take its advice
with a big grain of salt as it may be applicable only to history and not current
events.
Critics love to dig up old papers, presentations and advice given and use it to
bludgeon people into believing they are the only authority. Take this type of
advice with a grain of salt as well. In time, their advice will be referenced,
out of date and out of style.