Databases
Due to the growing desire for more interactive web content, databases are playing an increasingly important role in the creation and storage of dynamic web content. Like many other things associated with web hosting, your choice of host will be limited by the database technology that you choose to use (or vice versa).
Not surprisingly, there are both advantages and disadvantages of using particular database software; and I'll talk about some of them here. You should have some idea of what you will be wanting to store in your database before you can decide which database solution better 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 is capable of reading and parsing the file (after some programming). Each line is either one field entry, or split up with a common delimiter into several field entries.
- Advantages
-
- They offer full control of the way the data is stored and accessed.
- They are both platform and scripting language independent.
- They can prove fast to implement and to use for small straightforward data sets.
- Their data is human readable when viewed in standard text editors.
- Disadvantages
-
- They do not scale well due to the way all data needs to be read to perform a search.
- They are not well suited to concurrent data access, making 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.
- There are no functions available, 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 just 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 be put under too much use and slow down the speed of a site.
- Advantages
-
- Relational database makes 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, with a stable operating system and file system, and support for multithreading having the largest impact.
- Advantages
-
- Software is open source and so is free to use and freely available.
- Well-used database solution and so stability is well tested and documented.
- Good all-round support for many features despite it's 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 is little wonder why it has 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 for low cost Internet applications.
- Vast configuration options may require a well-trained database administrator.
