Paul Smith wrote:
On 1/30/06, Uno Engborg <uno@xxxxxxxxxxx> wrote:
Could someone please recommend a nice and well documented database
program for a person who has never used a database?
That's not much to go on when asking for a recommendation.
The obvious choices on fedora will be MySQL and postgresql
and between those, postgresql follows the sql standards
more closely and has a less restrictive license. Mysql
might be slightly faster if your usage is mostly read-only.
MySQL being faster is than postgresql is mostly a myth. It may be true
if you have very simple queries or very few connected users. In general
Postgresql is significantly faster.
The MySQL is faster myth, goes back to the MySQL 3 days when that
actually was the case,
mostly because MySQL back then didn't support transactions, or
referential integrety
checks while Postgresql did. (MySQL still doesn't fully support
referential integrety).
As an example, I created a table containg absolute paths to filenames in my
filesystem, the file size and the md5 sum of the file. I then made a query
to group the files by the md5 sum, and ordering these groups by file size.
On my filesystem that took 12 minutes in postgresql 8.1, and over 16 hours
using mysql 5.
To make it worse, MySQL doesn't have the richness in SQL that postgresql
offers. This often makes queries to MySQL more clumsy. E.g. try do a
relational
division without using "exept".
Another factor in the choice between MySQL or Postgresql is the fact
that Oracle have bought the innodb
storage engine that is the main the one you need to use if you want to
come even close to the feature set of
postgresql does. In my mind, this creates some uncertainty for the
future. It gives a competitor the means
to shut down commersial licensing or raise the prices. That can never be
good.
If I was to chose between Postgresql and another free database it would
be between Postgresql and Firebird,
where I would go for firebird for embedded solutions or when I needed to
have databases that resided in
just one file. Just like Postgresq, Firebird is very close to the sql
standard, but it is not as feature rich as Postgresql
Thanks, Uno, for your very detailed explanation.
As desktop databases for Linux, I guess one can only find OpenOffice
Base and Kexi, is not it?
Paul
Is kexi a database in its own capacity? That was news to me. I thaught
that it was
used as frontend to other databases, much as you can use OpenOffice to
connect
to anything with ODBC or JDBC.
If you count desktop frontends, you could also check out Rekall
http://www.thekompany.com/products/rekall/
If you are looking for an Access replacement, Firebird combined with
OpenOffice Base,
Kexi, Rekall might do it. Just like in Access, a in Firebird a database
is just one file that you can store anywhere you
like in the file system (the Firebird engine must still be installed
though).
Using Postgresql, would be more comparable to MS-SQLServer.
Unless you really don't need the one file feature of Firebird, I would
suggest you go for postgresql, as it has much better free documentation,
and better support in free other free software applications.
Regards
Uno Engborg