Open Source Databases Comparison: MySQL, PostSQL and mSQL
Date: Sunday, November 04 2001
Topic: GNU/Linux & Op


What do you do if you don't have access to an expensive high-end database in your organization, but still wish to make use of its capabilities? If it's the high cost of one of the more popular RDBMSes that is preventing you from entering into the worldful high speed world of databases, then there are a couple of products that run under Linux that could be just want you are looking for. MiniSQL or mSQL is a lightweight database engine designed to provide fast access to stored data with low memory requirements. MySQL is slightly more sophisticated in the features it has available and is faster than mSQL but uses more memory. PostSQL uses more memory still and it is slower but it is much richer in features.

All the products mentioned above have a number of common features: They use a subset of the features of ANSI SQL. This allows a program or user to store, manipulate and retrieve data in table structures. They all have a sophisticated and flexible client server architecture. The backend on all these programs (the part that does the work) is a standalone application that listens for connections on a well known TCP port. All include debugging and monitoring tools for writing software applications and tracing problems and all support a number of programming languages.

Supported Programming Languages
Just a note before we begin our feature comparison: C, Java, PHP and Perl are well supported on all the databases and free libraries are available to build applications. Other languages are supported too; check the lists on the respective database home pages.
mSQL
mSQL is run by a number of WWW hosting sites. The reasons are clear to see--it offers free entry level access to fast database services but is free to license and light on system resources. One way in which it preserves memory whilst keeping up speed is by using a 'single process engine'. This means that new connections to the database are at a low 'cost' to the system in terms of memory and CPU use. The drawback of this approach is that the number of simultaneous connections is limited to around 250 but often this will be enough. Find mSQL at http://www.hughes.com.au/.
mySQL
mySQL is built on top of a fast indexed sequential engine. It is faster than mSQL but it gains this extract speed by burning extra system resources. It is fully multi-threaded using kernel threads. That means it easily can use multiple CPUs if available. As well as excellent Linux support it also runs on most Unix systems and has a ODBC driver available. Support contracts are available from the company that wrote the program at very reasonable rates. Find mySQL at http://www.mysql.com/.
POSTgresql
From the POSTgreSQL Web page:
PostgreSQL is a sophisticated Object-Relational DBMS, supporting almost all SQL constructs, including subselects, transactions, and user-defined types and functions. It is the most advanced open-source database available anywhere.

POSTgreSQL is based on the commercial Ingres database system. Because of its roots as a teaching aid it does not have the blistering performance that MySQL boasts, but instead has focused on wide range of features. Find POSTgresql at http://www.postgresql.org/.

As well as these free products there are several commercial databases with Linux versions, including Interbase and Oracle. But these free products are well supported by their many users worldwide and are worth considering if you don't have a big fat wallet!




This article comes from osforge.com
http://www.osforge.com

The URL for this story is:
http://www.osforge.com/news/00294.html