Tuesday, April 24, 2007

A bit of silliness

On AskTom, there's a huge thread that's been running for 5+ years called Comparison between Oracle and Others. As one might expect, the debates get a bit "religious" and some posters try to put down the Oracle database. That's fine, but a few sites are linked to that make ridiculous claims about Oracle, really only proving that the authors don't understand the database. Some claims are unsubstantiated, some make zero sense. For example, Oracle is too expensive and has a high TCO, or you "no real numeric data types". (???) I've seen similarly ridiculous trashings on Slashdot such as, this post that claims Oracle focuses only on "ruining successful companies"(because destroying customers is a good business model, you know) - http://slashdot.org/comments.pl?sid=208928&cid=17040380

Anyway, I decided to have a little fun and post my own list of Oracle gripes. Total joke, though some people didn't seem to get it. Perhaps my satire is too subtle. :) Here it is:

Major flaws in Oracle that I've found:

1) I tried installing Oracle on my Commodore 64 and it crashed. I reported the problem to support and they said I had to upgrade. Those jerks.
2) The alert log keeps getting bigger. This is a security flaw because eventually the disk will get full and Oracle will hang.
3) The "undo tablespace" is a worthless feature that just slows down the database. Support said I should try putting it on another disk. I'm really starting to hate those guys.
4) No support for null primary keys.
5) I need a table with 1001 columns and Oracle only supports 1000. Tom Kyte says there's something wrong with my design. What an insult.
6) I deleted all the data in the table and it still took up space.
7) Because TOAD exists, every GUI tool Oracle offers is horrible.
8) Everything you do is logged, whether you like it or not, wasting an average of 12.7499 GB/min according to www.microsoft.com/fairandbalanced/whyoracleisevil.php
9) Oracle charges you $300 per row returned. One time I accidentally cross joined instead of inner joined and I had to file for bankruptcy.
10) In SQL*Plus, you can't run Java commands unless you create a "Java Stored Procedure" and even then you're forced to call a static method. Static methods are so 80s. They went out with The Culture Club and velcro sneakers. Get with the times, Oracle.
11) I can't get dirty reads with Oracle. It should be a standard database feature for me to be able to read your incomplete transaction. If you're transferring $1000 from your savings to checking account, I should be able to see your savings down by $1000 before checking is increased by $1000. This way the check I'm trying to clear bounces even though you have the money. Oracle arrogantly breaks this standard. Stay away from this awful software.
12) Data types are all screwed up. Dates are stored as numbers and you can't specify precision or format, and you can't even cast a long raw to a rowid.
13) In fact, VARCHAR3 and 4 don't even work AT ALL.
14) I tried modifying Oracle data files in Windows Notepad and the database broke. Support told me you can't do that with Oracle...Obviously the software is inflexible in its methods of data access.
15) It's slow even when I index every column.
16) Try returning a hash table of 2D arrays of cursors pointing to user passwords in Oracle. Can't do it.
17) No one would ever use Oracle for a serious business. Sure Blizzard uses Oracle for its 8.5 million user MMORPG, but that's the exception, not the rule. They should have used MySQL and saved money.


Sunday, April 22, 2007

Quote from a new guy

At work we've got a relatively new developer, call him Rob, who has been working on a Postgres database for about a month now. The other day, Rob groaned in frustration:

"I've worked with Oracle for nine years, and only in the last year did I find a few things I had to work around. I've been working with Postgres for one month, and I've already had to write more workarounds."

Rob said this after he found he could not create an array of composite types in Postgres. Tom Lane post that says you can't create such an array.

I had to smile because his complaint resonated with me. It reminded me of how I felt about a year ago when I started on Postgres. One workaround after another, or a feature that I had grown accustomed to in Oracle was nowhere to be found in Postgres. Now that I've been working with Postgres for a good year I can appreciate that it is a pretty damn good open source database. I'll write more about what I like about Postgres another time.

First Post

Wow, it's been a year since I created this blog, and I still haven't written anything. I've been meaning to compose some brilliant post with a great big mindblowing database conclusion, such as why Hibernate is no good, or deeply compare Oracle to Postgres. Instead I am going to just start writing what comes to mind... I would like to keep a log of ideas, experiments and work experiences. Hopefully any discussion in comments will be insightful and free of name-calling.