Database recommendations?

Are we talking crash as in "boom" or crash as in halted replication?

If "boom", process boom or OS boom?

Paul,

Been watching this thread with interest, being a database person myself.

Asking for a database recommendation is a pretty dangerous thing to do : DBMS

debates can get just about as heated as those over preferred editor or IDE.

In many ways, the choice of DBMS comes down to two things -

  1. Experience (folks choose what they know and are comfortable with)

  2. Money (how much you are prepared to spend for the product and support)

I am not a MySQL person myself (my preferred DBMS is IBM’s DB2, and for that

my preferred operating platform is Linux). I have used it on occasion, just

as I have been exposed to Oracle, MS SQL Server, Sybase, Informix and IMS in

my years in the field.

My recommendation to you is that if you are generally comfortable with MySQL

then that would be where you should stay. The obvious advice would be to

raise a problem report with MySQL support. I would not advise anyone who is

running a 24x7 database which is critical to the life of their business to

run without some sort of support contract. I’m sure that MySQL support

would help diagnose your problem.

If you do want to consider a change, then you have the opportunity to use

almost all of the databases currently available, albeit unsupported, for free

these days. That’s true for DB2 (Express-C), Oracle (Express Edition) and

SQL Server (Express Edition). But be aware that there all of these free

editions have limitations on their use, some more restrictive than others.

The basic details of these are -

DB2 Express-C : server can have maximum of 2 processors (these can be

multi-core however) and 4 gig of RAM. No limit on database size

Oracle Express : server can only have 1 processor (again multi-core) and 1 gig

of RAM. Database is limited to 4 gig in size. Only one database allowed per

server. Also no 64-bit support (e.g. AMD64 or EM64T).

SQL Server Express : will only use one CPU on a server. 1 gig of RAM only.

4 gig maximum database size. And, of course, only available on Windows

I think you will agree the DB2 Express-C is much less restricted than the

others. I can thoroughly recommend it as an excellent platform for 24x7

operations. It runs beautifully on Linux, and especially on an x64-64

(AMD64 or Intel Xeon with EM64T) platform.

I’m giving a presentation in May at IDUG (http://www.idug.org) on using DB2

with Ruby on Rails. It is nearly finished (the final version is due in less

than a fortnight) and if any wants to help me review it :wink: then drop me an

email. It goes through in some detail using the ibm_db2 adaptor from IBM

Alphaworks. It doesn’t show you how to install DB2, since my audience will

know this, but I can help there if you want : given a Linux box, an SSH

connection and a root password my record for going from tarball to working

DB2 system, including sample database, is 12 minutes.

Anyway, as I said before : stay with what you know if you can resolve the

issue. If you want to look elsewhere you could do a lot worse than DB2 !!!

HTH

Phil

Philip Nelson wrote:

In many ways, the choice of DBMS comes down to two things -

1) Experience (folks choose what they know and are comfortable with) 2) Money (how much you are prepared to spend for the product and support)

Phillip is dead on here.

I am not a fan of MySQL, but it works well for backing web pages with mostly static data. When the Netfrastructure back end (a rewrite of the firebird engine) is mainstream, it will move up at least one level in my hierarchy of consideration.

DB2 and Oracle are good choices because you can vertically scale the DBMS into the midrange and mainframe class systems (off of the WIntel platforms), and both are robust with loads that are heavily transactional. While both have free and low cost limited licenses, they also have a variety of license packages that scale from vertically handheld to mainframe, and robust clustering options in the commodity, midrange, and large systems. I have found DB2's support to be generally superior to Oracle's.

Firebird (my favorite) was originally architected for the Vax cluster as a direct competitor for Oracle. Its "classic" architecture has remained constant and a good fallback throughout its 30 year (more or less) history. The latter half of its life time has been focused on the commodity systems (WIntel), but there are builds for Windows CE, Intel64, AMD64, and PowerPC architectures also, so it scales vertically at least to the midrange systems. I have not checked the status of Firebird 2, a ground-up rewrite (different from the NetfraStructure rewrite), recently. However, it brings firebird's performance in line with MySQL and Postgres,without sacrificing transactional integrity.

You forgot to mention PostgreSQL, that's the Open Source Oracle, granddaddy of of many Open Source and Commercial RDBMS :slight_smile:

PS: Even knowing about Interbase off-spring I chose PostgreSQL when I fleed from MySQL.

All the Best! Sergey.

johnson_d@cox.net wrote:

Sergey,

The only reason I didn't mention PostgreSQL is that I've not personally got any experience of it (not that I wouldn't like to, but there are only so many hours in the day ...).

The vibes I get are that if you want Open Source, then PostgreSQL is more advanced than MySQL.

As far as the "grandaddy", Oracle may have been first to market (and suffers still for that in some ways, since things done in haste sometimes have problems) but the real "daddy of them all" is mainframe DB2 (now known as DB2 for z/OS). The experimental precursor to that was System-R, which was built on the back of the IBM researchers who invented relational technology.

DB2 for z/OS is 25 years old (since it's first generally available release).

Of course, if you want to go for a "real man's database" still under active development today, you'd have to go for IMS/DB (hierarchical database).
Still work with it on a daily basis, and we still run millions of transactions per day against it. It was developed as part of the Apollo space program in the 60s.

Phil

Thanks Philip for a very comprehensive summary of various ideas. I've toyed with the idea of using DB2 for Rails though haven't got around to it. But your mail does push me to consider revisiting it again.

I'd like to get my hands on a copy of your presentation, and if no one else volunteers to review it, put me on the list (my reluctance is due to my lack of experience rather than lack of willingness).

Cheers Mohit.

Philip Nelson wrote:

Thanks for that. It should be finished sometime this week.

Phil

Hey Philip, I would be very interested in reviewing your presentation. Please keep me posted and I'll talk to you later.

Peace,

-Conrad