Web Hosting - Databases
Matt Williams - 20th April 2010
What Are They and Do You Need One?
'Database' is one of the most commonly used terms that one encounters in web site design. Yet, what they really are
and whether they're essential is often not clear to novices.
A database is a collection of organized data, stored in files that have a specific structure. It's that
organization and structure that allows for easy and rapid storage and retrieval.
The need for a database generally only arises when you have a certain amount of information and that information
needs to have some structure. If you have a half-dozen names and addresses to store, a database is usually
overkill. If you have a blob of data with no relationships between any of the items in that blob, maintaining a
database is usually more trouble than it's worth.
Maintain a database? Yes, like other complex systems a database, to be effective, needs to be designed properly at
the outset then kept 'tuned' for good performance. The alternative is to gradually allow the database to become
more and more disorganized. That leads to difficulty in use, poor speed of retrieval and more frequent
With MySQL, Access or MS SQL Server, the three most common choices of database product for web sites today, setting
up a database is relatively simple. Even those with limited technical skill can get one up and running just by
following some simple instructions. But some thought should be given to how you want the information organized, and
to maintaining the system during its lifetime.
Suppose you have a set of names, addresses, email addresses, products purchased, date purchased and amount. If you
have only a few dozen records it matters very little how these pieces are arranged and related. A database usually
isn't even warranted in this scenario. Once you have several thousand or more records, it matters a lot. Speed, the
ease of expanding the set of attributes (like adding, say, product category), and other issues come into play.
Even those with little technical expertise, but a willingness to exert logical thought and invest some time, can
build a very robust database. Think about how you would organize a set of data (called 'tables'). Should Name,
Address, and Product be in the same table? Or should the personal information be stored in one table and any
product information (product, price, ...) in another?
Some experimentation may be needed to get it right, but the choices have an impact on how easy the tables are to
maintain. It also affects the speed with which programs can fetch old data and store the new.
Having a database also introduces new maintenance issues for the server administrator, since backups usually need
to be done differently. Recovering a failed database is usually more complicated than simply re-copying files from
yesterday. Ask your hosting company what tools and skills they have for dealing with any database system you
It's true that introducing a database creates more complexity and the need for additional thought and
administrative effort. At a certain level, professional expertise will be needed. But clearly the advantages
outweigh the costs in many cases. Companies large and small eventually use databases to store and organize data. At
some point, you may be fortunate enough to be one of them.
Top of page