40 comments

[ 6.6 ms ] story [ 84.3 ms ] thread
> As an advocate for the DB2 team I often hear people ask, “Why would you use DB2 when MySQL is free and Open Source?”. The truth is that countless companies use DB2 because they know it ends up being cheaper in terms of both time and cost, when compared to Open Source database solutions.

It's as if PostgreSQL doesn't even exist. DB2 vs MySQL is comparing an aircraft carrier to a kayak. MySQL isn't the only open-source DB out there and it is nowhere close to the best option in most enterprise cases.

He isn't comparing DB2 to MySQL. He's comparing DB2 to open source databases. The question he hear's often is about MySQL. I really think he's just using MySQL in the example question rather than saying using the more cumbersome "Why would you use DB2 when [insert a random open source database solution here] is free and Open Source?"
Ok, but just because they're both open source doesn't mean they're the same in terms of speed, capabilities, support infrastructure, etc...
Correct. Doesn't negate what I said, or what was quoted.
> I really think he's just using MySQL in the example

That's the problem I'm pointing out. He is using MySQL to show how much better DB2 is. MySQL is a very poor representative of open-source databases for enterprise use. Most of the good things he said about DB2, apply to PostgreSQL but not MySQL. Yes you can have data-compression on the fly in PostgreSQL. Yes you get over a decade of proven security and reliability. Yes you get utmost performance if you take the time to learn. Yes you get native XML.

Businesses of all sizes should look into open-source databases but not base their decision solely on whether MySQL has that feature or not. MySQL is a small subset of what's out there.

... and if time is money you can also pay a consulting company a few hundred bucks to assess your hardware config and crank out a postgresql.conf that will run great. It's likely you'd have to do the same thing for DB2.

An enterprise RDBMS is a huge decision, a platform a business is built on. At this point in time, chaining a business I'm part of to an expensive commercial database product which offers no substantive benefits and is subject to the whims of product VPs doesn't seem like the best business decision.

Your taking my quote out of context.

He could have used "Why would you use DB2 when PostgreSQL is free and Open Source?" and it wouldn't have changed his follow up statement one bit.

Edit: I'm not suggesting his follow up answer would still be right. I'm just saying, your asking questions that aren't really helpful.

>DB2 Express-C has some limitations when it comes to los tipos of resources that it can use (up to 2GB of RAM and 2 CPU cores). Fear not though, it’s still plenty useful for many startups or small businesses

That is called vendor lock in. Start with this, build with this, once you're dependent and need to grow then we'll extort our share of your profit.

Avoiding vendor lock in is a major reason Open Software exists.

I would argue that avoiding vendor lock out is a major reason Open Software exists: with an OS database, nobody can tell you that you can no longer use the DB software unless you pay the proper licensing and maintenance fees.

You'll be locked into a particular database vendor anyway: it's no harder to migrate away from MySQL that it would be to migrate away from DB2. It just so happens that the open source "vendors" don't charge licensing fees, and if things go way off the rails (community implosion, commercial "takeover" of the primary contributors, etc), at least you'll have access to the source so you can run your app on it for as long as it makes sense to do so.

You get vendor lock in whether or not is Open Source, unless there is an Open Source project that will instantly convert all my code to use another vendor, including my tests.

While Stallman's desire is not financial profit (which I really think should be the core of your argument, not the lock-in), the lock-in of a GPL-based product chain is just as hard to get out of than one built from IBM (actually quite possibly even harder).

The alternative to vendor lock-in isn't the ability to do a drop-in replacement of every single component, it's to think carefully and pick the set of lock-ins that has the lowest possibility of ending up hurting you.
Nothing a couple of classes can't abstract away - then you are only stuck if no other vender has the features that you need, not just because you lack the correct apis.
> (up to 2GB of RAM and 2 CPU cores)

Except that this particular market segment is almost certainly better off with an open source DB.

Also: why is MySQL always the "reference implementation" for database comparisons? MySQL just doesn't cut it in many important ways. Not to say it's not useful for some tasks, but it really isn't in the same league as the major databases, at all.

> why is MySQL always the "reference implementation" for database comparisons?

It's explained why in the article.

> As an advocate for the DB2 team I often hear people ask, “Why would you use DB2 when MySQL is free and Open Source?”.

Well, yes, he's complaining about the same thing I am.

But even in the OS world, MySQL is not the only game in town. Postgres, obviously, is probably the biggest contender, but there's a bunch of them: http://en.wikipedia.org/wiki/Category:Open_source_database_m...

The problem is, the question is both wrong and right at the same time.

> Why is MySQL always the "reference implementation" for database comparisons?

Why is it? What put it in that position? How did the other databases "fail" to become that reference implementation? I'm pretty sure it's not because MySQL is an easy comparison.

The problem is people use the question in a different context. As in, why didn't the person use <insert random database here>. The answer to this question is easy: because MySQL is so popular.

If PostgreSQL changed their name, perhaps they'd be more popular. It wouldn't stop me if it were the technically best choice, but I'd certainly cringe to have to recommend "post grehs queue ell -- no hold on let me spell it for you..." to a manager who wasn't already familiar with it.

I don't understand how this escapes people who obviously want other people to use their software. MySQL sounds too Fisher-Price, but is passable at least. Now "Oracle": that sounds awesomely powerful. And "DB2" sounds awesomely IBMish.

This is totally off-topic, but I've always loved IBM's naming conventions: OS/360, z/OS, OS/2, DB2, etc. It just has this feeling of "Are systems are built out of titanium and iron."

The reality is obviously different, but it is definitely a naming style from a different generation.

http://en.wikipedia.org/wiki/List_of_IBM_products

That struck me as odd too, I would have expected a comparison of DB2 to PostgreSQL instead. But his target audience is web developers and web startups, where MySQL has probably more mindshare.
Saddly MySQL has become the Paris Hilton of open source databases. It is famous for no other reason then the fact that it is famous.
Not quite. Around 10-12 years ago when dynamic web-programming for the masses started to take off, nothing, and especially not Postgres, paralleled MySQL in low barrier to entry.
(comment deleted)
Does anyone here have feet in both camps? I'd like to read that person's opinion.
I've worked with both proprietary DBs, particularly MSSQL and Oracle, and free DBs, particularly MySQL and PostgreSQL.

I would trust Postgres for any production application -- however, Oracle has a few nice solutions when it comes to business intelligence that I haven't found for the free databases. Further, so many solutions (such as the major ERPs) come on big hardware databases that mid-sized companies already have the necessary database. Why use Postgres when you already have a license (or three, including development and staging/training) for a commercial database?

Certainly, at the Fortune 500 level, Oracle and DB2 have advantages that are YAGNI for us. (For example, Oracle RAC is a pretty elegant solution that isn't right for serving Facebook, but certainly adds more convenience than it costs in complexity for a large company.) You can have a big cluster of databases and use a single point of control across the cluster. I just haven't seen the same tools for Postgres.

I would never suggest that Facebook should be served up by Oracle. It just wouldn't make sense considering the cost. However, for a large company with a dozen (or many more) large interrelated applications, both consultingware and internal, used on three continents? I wouldn't want to manage a Postgres cluster....

(I am, of course, oversimplifying things.)

He's right that open-source vs. commercial is orthogonal to the attributes you should really be assessing. Lumping in MySQL with PostgreSQL just because they're both free is a disservice to PostgreSQL.

The author goes out of his way to differentiate Oracle from DB2, but paints all open-source databases as toys. Really, you think I'm not going to notice that there's a significant tier, that most companies probably fall into, between a 50 MB database and a 50 TB database that PostgreSQL can handle beautifully?

TLDR:

"Today IBM is announcing new pricing (http://www.db2teamblog.com/2010/10/db2-express-ftl-gets-more...) to extend the benefits of our support and commercial edition to a greater number of startups and small businesses. You can get the commercial Fixed Term License for about $1,500 per server, per year. (I pay more per year to host this blog.) Aside from 24/7 support, regular fix pack updates, and the clustering option for SQL Replication and HADR, this DB2 Express-C license will also allow you to use up to 4GB of RAM and 4 CPU cores. (There is an Express edition if you’d prefer to pay a one time fee, rather than a yearly one, or if you’d like to pay through other metrics such as per user.)" (also, don't forget to check out the free DB2 Express-C, a starter version whose only limitations are 2GB RAM and 2 Cores)

I must be in the really cheap camp but $1500 is still a lot for a startup just trying to get off the ground. I rather take that money and spend it on marketing. If DB2 really wants to break into the startup segment they need to offer awesome deferred pricing. As in I don't really want to pay until it really makes sense.
You're not cheap. Any business willing to spend $1500 where is doesn't need to is just waiting to have it's lunch eaten.
He is not comparing FOSS databases with Commercial databases.
A little tangential but why would the author be spending $1500 a year to host a blog. Is IBM also his hosting provider?
I host several semi-popular blogs, plus a few other sites on a server in the cloud (with The Planet). I get a few million hits a year, and pay $135 a month to keep it up.
I don't think it's fair to say it costs you more than $1500 to host one blog when in fact it's a series of sites. It gives people the wrong impression of how much the database costs relative to hosting.

(As an aside, I run a site that gets over two million hits A DAY, I pay nothing for my database, and about $100/mo for hosting.)

(comment deleted)
> I don't think it's fair to say it costs you more than $1500 to host one blog when in fact it's a series of sites.

I agree. That was poor wording on my part.

> and about $100/mo for hosting

Who do you host with?

I have a dedicated server I bought myself years ago and host it at a coloc in downtown Toronto.
He seems to use dedicated server from The Planet: http://geotool.flagfox.net/?ip=174.122.8.18&host=program...

Their prices are not cheap: https://www.theplanet.com/servers/Default.aspx?dedicated-hos...

I'm happy for the guy, that he is able to support such lifestyle being well-paid for promoting expensive enterprise product, I'm afraid he's out of touch with much of the world. In this world many people run blogs and start startups with hosting costing <$100 a year.

There is a whole site Low End Box, http://www.lowendbox.com/about/ dedicated to listing hosting deals for less than USD$7 per month, itself currently running on $35.88/Year 80MB hosting (previous 512MB was not low end enough) http://www.lowendbox.com/blog/moved-again-to-quickwebmicrovp... http://www.lowendbox.com/blog/quickweb-35-88year-80mb-xen-vp.... There are instructions for configuring sites to run on 64MB hosting. http://www.lowendbox.com/blog/yes-you-can-run-18-static-site... So I don't consider $100/year hosting a squeeze.

Many commercial databases are good and work very well. The difference is when you are stuck with a small ridiculous problem and are cash-strapped and in a hurry.

Google searches turn up far many more results for solutions to OS software problems than for commercial products. Also forums, knowledge bases and communities are not that convenient to access for many of the "enterprise" vendors. Finally there is the issue of the eventual price being "call-us" for many commercial solutions (although it seems like it is not the case here with DB2).

Open source products often just better fit the dynamics I'm in when starting something.