One useful way to look at
database administration is in terms of the type of
support being delivered to applications. You can paint
a broad brush stroke across the duties of the DBA and
divide them into two categories: those that support
development work and those that support the production
systems.
Development DBAs support the
application development lifecycle. There is no
immediate impact to business, because the
application/database is not yet operational. The
development DBA focuses on building an effective,
usable database environment to support business
applications. As programs and systems are built, the
development DBA lends assistance and support -- which
includes building and maintaining the proper database
structures required by applications.
Development DBAs need skill in
data modeling and normalization to ensure that
databases are designed to promote data integrity. The
development DBA must be able to translate the logical
data model into a physical database implementation.
Once the test database is
created, the development DBA will assist programmers
in building and editing test data. Test data
generation, editing, and loading are required
processes to ensure that appropriate data is available
to test applications as they are built. The
development DBA needs to be able to provide tools to
facilitate database testing and data refresh. He or
she also needs to work with the application team to
ensure that proper methods are used to embed data
access and modification logic into application
programs. Finally, the development DBA must work with
the application team to create and maintain effective
database-coupled application logic - stored
procedures, triggers, and user-defined functions (UDFs).
These are programs that are under the control of the
DBMS. The development DBA will help to build, test,
and maintain stored procedures, triggers, and UDFs.
By contrast, the production DBA
supports completed applications as they run your
business operations. Production DBA work focuses on
assuring availability, optimizing efficiency, and
promoting usability. Once the database applications
are operational, the key task becomes making sure they
stay that way. It all boils down to keeping databases
running up to PAR, an acronym that defines the three
primary DBA responsibilities have for managing
databases and applications: performance,
administration, and recovery.
Database performance management
is the optimization of resource usage to increase
throughput and minimize contention, enabling the
largest possible workload to be processed. Performance
needs to be managed across the IT infrastructure.
Administration refers to the day-to-day tasks of
keeping databases up and running including change
management, reviewing database structures, security
and authorization, and like tasks. And backup and
recovery is the process of taking appropriate database
backups of the appropriate type at the proper time to
ensure recoverability. When the production DBA focuses
on PAR, applications will be performing according to
the service level agreements, databases will be
administered appropriately assuring optimal design and
good organization, and data will be sufficiently
backed up such that it can be recovered in the event
of an error or downtime.
You will need to define, plan
for, and staff both development and production DBA
roles to create useful database applications.