Article
Complete Guide To Hosting - Part 2
8. Databases
Due to the growing desire for interactive Web content, databases are playing an increasingly important role in the creation and storage of dynamic content. Like many other factors associated with Web hosting, the database technology you choose to use will affect your choice of host.
Not surprisingly, there are both advantages and disadvantages to using particular database software. You should have some idea of what you'll want to store in your database before you can decide which database solution suits your needs.
Flat-File Databases
The simplest databases are flat-file databases, consisting of a single file, or group of files in a format known by those that wish to make use of them. Due to their simple and predictable format, they can be made to work with any scripting technology that's capable of reading and parsing the file (after some programming). Each line is either one field entry, or is split up by a common delimiter into several field entries.
Advantages
Flat-File Databases:
- Offer full control of the way the data is stored and accessed.
- Are both platform- and scripting language-independent.
- Can prove fast to implement and use for small straightforward data sets.
- Their data is human readable when viewed in standard text editors.
Disadvantages
- They do not scale well, as all data needs to be read to perform a search.
- They are not well suited to concurrent data access, which makes them susceptible to corruption.
- You need to know about a particular flat-file database's structure before you can use it.
- They are difficult to use as a relational database; more data duplication is likely.
- No functions are available, so all manipulation has to be done by the language being used.
MS Access and MS SQL
These two Microsoft database offerings are usually confined to use with ASP pages on a Windows server, but can, with the correct Open Database Connectivity support, also run on Unix, Apple Macintosh and OS/2 systems.
Access is simply a scaled down version of Microsoft SQL, although it does not tend to scale as well in terms of simultaneous connections or function support. If you intended to use a Microsoft solution for a large or busy database then you should go for Microsoft SQL. Microsoft Access is more suitable for small hobby sites or low traffic business sites where it is less likely to suffer heavy usage, which would slow down the speed of a site.
Advantages
- Relational databases make data management easier.
- Both have support for an image data type.
- MS SQL allows access across servers hosting the same databases.
Disadvantages
- Software licences required to be able to edit and use these databases.
- Access can bring down entire servers if not used correctly.
- Difficult to use in non-Windows environments (support for ODBC needed).
MySQL
While current versions of MySQL are optimized for use on *nix platforms in particular, MySQL can be built to work with most modern systems by compiling the source code. Performance of MySQL is greatly affected by performance of the system: the stability of the operating and file systems, and support for multithreading having the largest impact.
Advantages
- Software is open source, so it's free to use and widely available.
- It's a well-used database solution, so stability is well tested and documented.
- Good all-round support for many features despite its low cost to use.
- Various sizes of text and binary data types offer better optimisation for database design.
- Relational database makes data management easier.
Disadvantages
- More difficult to use for those new to databases.
- Arguably not truly rational using Codd's rules.
Oracle
Oracle can be configured to run on a multitude of platforms and operating systems and has proven to be very scalable and reliable -- so there's little wonder why it's become so popular.
Advantages
- Has data types that can write directly to the file system.
- Has the capacity to handle extremely large amounts of data.
- Highly configurable database server.
- Relational database makes data management easier.
Disadvantages
- High cost has restricted its use with low-cost Internet applications.
- Vast configuration options may require a well-trained database administrator.
Database Related Books