In addition to cheaper and more powerful computer hardware, smaller
database packages have become available, such as Microsoft Access and
mSQL. These packages give all computer users the ability to use
powerful database technology in their everyday lives.
The corporate workplace has also seen a dramatic decentralization in
database resources, with radical downsizing operations in some
companies leading to their centralized mainframe database systems
being replaced with a mixture of smaller databases distributed across
workstations and PCs. The result is that developers and users are
often responsible for the administration and maintenance of their own
databases and datasets.
This trend towards mixing and matching database technology has some
important downsides. Having replaced a centralized database with a
cluster of workstations and multiple database types, companies are
now faced with hiring skilled administration staff or training their
existing administration staff for new skills. In addition,
administrators now need to learn how to glue different databases
together.
Database-independent programming interfaces help these poor,
beleagured developers by giving them a single, unified interface with
which they can program. This shields the developer from having to
know which database type they are working with, and allows software
written for one database type to be ported far more easily to another
database. For example, software originally written for a mainframe
database will often run with little modification on Oracle databases.
Software written for Informix will generally work on Oracle with
little modification. And software written for Microsoft Access will
usually run with little modification on Sybase databases.
If you couple this database-independent programming interface with a
programming language such as Perl, which is operating-system neutral,
you are faced with the prospect of having a single code-base once
again. This is just like in the old days, but with one major
difference -- you are now fully harnessing the power of the
distributed database environment.
Database-independent programming interfaces help not only development
staff. Administrators can also use them to write database-monitoring
and administration software quickly and portably, increasing their
own efficiency and the efficiency of the systems and databases they
are responsible for monitoring. This process can only result in
better-tuned systems with higher availability, freeing up the
administration staff to proactively maintain the systems they are
responsible for.