
|

zData Perspectives
by
Craig S. Mullins
|
The 10 Database Commandments |
|
People are drawn to lists. Lists appear
everywhere, from the Christian Bible to the weekly Top Forty countdown
to the FBI’s most-wanted list to top ten lists on late night television
(via David Letterman). Lists serve multiple helpful purposes: they help
us to remember, impose order upon tasks, and provide guidance.
Some lists have taken on great
importance in the world and in our lives. The Bill of Rights is a list.
So is the Ten Commandments. With this in mind, I began thinking about
database systems, as I often do. And although we use lists to
administer, program, and maintain our databases, there really is no
overarching list of “things you should do” to ensure an effective,
accurate, well-designed database.
So I decided to create the list
of Ten Database Commandments. Why ten? Oh, tradition, I guess. The list
may not be complete, after all I do not claim to be all knowing! But I
think it can serve as a good starting point for database development and
administration. If you have additions, modifications, disagreements, or
whatever, I’d be happy to hear from you.
So here, without further ado, is
the list of Ten Database Commandments:
- Thou shalt always design
databases from a logical data model. Database design is of paramount
importance to the usability and longevity of any database.
Improperly designed databases will cause all types of problems
ranging from poor performance to data integrity violations. If you
do not begin with a well thought out data model, your database will
suffer.
- Thou shalt always document
thy database design. A lack of documentation will make future
modification difficult at best, impossible at worst. Be sure to
document every design decision (both logical and physical) and every
subsequent change.
- (There are many important
aspects of database administration, but of them all,) data integrity
shalt always remain the most important design criterion. If the data
is not accurate it does not matter how fast you can access it. Data
integrity and accuracy is always the most important goal of any
database implementation.
- Thou shalt encrypt personal
and sensitive information, both at rest and in transit. Today’s data
governance and regulatory compliance requirements demand that
sensitive data be encrypted and/or masked.
- Thou shalt implement
appropriate security within thy database and between thy DBMS and
thy operating systems. An insecure database system can result in
unauthorized access, data theft, and fraud.
- Thou shalt always maintain
the recoverability of thy databases with sufficient backups to meet
the availability requirements of the business supported by the data.
Without a proper backup and recovery plan a logical or physical
failure can result in a long outage or worse, lost data.
- Thou shalt implement and
document a consistent workflow process for database change that
assures data integrity while minimizing downtime. As we all know,
change is the only constant. So once your database is implemented,
it is inevitable that changes will eventually be required. To ensure
availability and the safety of your production data, any changes
should be made in a controlled, documented, and recoverable manner.
- Thou shalt always consider
transaction performance in thy database design. Databases are built
to be accessed. If the database can not be efficiently accessed to
achieve the business purpose for which it was designed, it is
worthless. Every database design (and implementation) should be
analyzed to ensure that it can be accessed and modified within
required service levels and within the stated budget. If not, either
the service level or the budget needs to be adjusted, but you never
want to do that at the last minute.
- Application developers and
DBAs shalt always work together to ensure efficient code is written
to access thy databases. Collaboration is necessary between
developers and administrators to achieve optimally designed database
applications.
- Thou
shalt not download thy database to thy laptop. Oversight and
governance of production data demands appropriate rules are setup
and adhered to regarding data duplication and movement.
By posting these commandments,
and encouraging your co-workers to follow them, you can raise the
awareness of good database design and development practices. And
wouldn’t that be a good thing?
From
zJournal, Jun / Jul
2010
.
© 2010 Craig S. Mullins, All rights reserved.
Home.

|