Why would you use a commercial database anyway?
programmingzen.com
programmingzen.com
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.
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.
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.
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.
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.
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?”.
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...
> 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.
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.
The reality is obviously different, but it is definitely a naming style from a different generation.
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.
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.
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 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?
"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)
(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.)
I agree. That was poor wording on my part.
> and about $100/mo for hosting
Who do you host with?
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.
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.)
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.