This is a little soap box I have about databases. I am often asked about databases, and how they compare. I will illustrate with pictures three current favorites:

|| ::__MySQL__:: | ::__PostgreSQL__:: | ::__Oracle__::
{attachment id=123} | {attachment id=122} | {attachment id=124}
Cute and easy to drive you'll get going in a hurry, however it's not the safest place to be if something goes terribly, terribly wrong | It offers rugged durability while being very easy to drive | When you have to kick ass and take names there's only one answer, however just getting the things moving takes a lot of training and education ||

What this illustrates is that database selection depends on your needs. bitweaver supports many databases via the [http://adodb.sourceforge.net|ADODB] database abstraction layer. This allows you to choose a database that fits your site's requirements - be it performance, financial, stability, or any combination there of.

!MySQL

MySQL is probably the most popular database when counting by unique installations. This little database is a highly functional, entry-level database. It is completely open-source, and has excellent support on almost all operating systems (particularly good Windows support). However, once your data needs become more serious, it quickly falls short due to lack of native ACID compliance (true transactions), triggers, foreign keys, stored procedures, and more. Its speed is often touted as being a benefit, however, given its lack of features (particularly transactions), it is often an unfair comparison.

(:exclaim:) If you are using UNIX, i strongly encourage using PostgreSQL over MySQL. I have personally had the "myisam" tables [http://www.mysql.com/doc/en/Corrupted_MyISAM_tables.html|corrupt] on me several times. Uh... if you can't trust your database with your data...

MySQL has finally offered sub-selects in version 4.1 which finally shipped in October 2004. These are great new features, however, data integrity features have a long way to go.

Also, for company websites, Mysql is not free, the commercial license kicks in. While postgreSQL is BSD license, just like Apache.

!PostgreSQL

((PostgreSQLSupport|PostgreSQL)) is another open-source database that is very stable and supports many more data-critical features to insure data integrity. These include all the features lacking in MySQL as mentioned above. There are also several [http://www.commandprompt.com/entry.lxp?lxpe=304|replication solutions] that offer great redundancy solutions. While UNIX support is excellent, Windows support is lacking, however it will indeed run with use of the Cygwin POSIX compatibility package. __News!__ There is significant work being done on a [http://momjian.postgresql.org/main/writings/pgsql/project/win32.html|native windows port]. For enterprise class features and open-source, this is as good as it gets.

(:arrow:) If you are using any flavor of unix, I strongly recommend PostgreSQL. I have used it for many years and it has been awesome, and extremely reliable. It is just as easy to use as MySQL and offers many, many more features. Windows users should consult with others to see how good of an option it is, I proudly don't do Windows.

!Oracle

((OracleSupport|Oracle)) is considered generally considered king of the RDBMS hilll. It offers every feature one could possibly dream of when needing both data integrity assurances, and performance. It often comes at a price you can only dream about too - typcially tens of thousands of dollars.

(:idea:) You can actually download Oracle for __FREE__ from the [http://otn.oracle.com|Oracle OTN website] for personal use, and I highly recommend everyone does. Oracle's thinking appears to be "If you need it, you can afford it, and you'll pay for it. If you don't, or can't, then you can get addicted to it until you can". Oracle also released Express Edition or XE which is completely free. You can check it out on the [http://otn.oracle.com/xe|Oracle XE page.]

See the [/directory/index.php?parent=1|database links] in our Directory for more information.

To be continued as time permits...
Page History
Date/CommentUserIPVersion
10 Jan 2010 (11:35 UTC)
Lester Caine81.138.11.13621
Current • Source
Lester Caine81.138.11.13620
View • Compare • Difference • Source
spiderr69.134.250.11219
View • Compare • Difference • Source
Tyler Muth148.87.67.13318
View • Compare • Difference • Source
spiderr66.93.240.20417
View • Compare • Difference • Source
spiderr66.93.240.20415
View • Compare • Difference • Source
sourceview66.127.33.12313
View • Compare • Difference • Source
Peter Moore203.57.240.9512
View • Compare • Difference • Source
spiderr66.93.240.9211
View • Compare • Difference • Source