Database Business Problems at Oracle?
abb_road writes "Wall Street responded to yesterday's report of a 42% rise in profits by pushing Oracle's stock down. Despite a 77% increase in applications business, investors are worried that Oracle's core database business remains comparatively stagnant. Though Ellison claims that the DB business will grow in double digits over the next few years, it seems that more companies are switching to open source rather than paying Oracle $40,000 a processor."
PostgreSQL is certainly working fine as a Ruby on Rails and Jabber backend for us... maybe I'll worry about it once we get up over a few terabytes, but for now, it's more than capable of handling everything we throw at it.
And good books keep coming out for it, too, which is reassuring.
The Army reading list
As databases such as MySQL, MS SQL and PostgreSQL and others keep adding features and performance the RDBMS are becoming more and more of a commodity market. To be expected.
But my company is looking closely at SqlServer right now. We just went through an Oracle license Inquisition and like the article said, it's about $40k a license or just under $1000 per named user. OTOH we can buy a SqlServer license for around $5k and have as many users as we want. T-Sql is a poor replacement for PL/SQL, but money talks.
Before you go all Slashbot on me, realize that my company is very conservative with respect to technology, so Open Source is unfortunately not an option here...
I've heard a lot of debate about Postgresql vs. MySql that doesn't need to be re-hashed for the 1000'th time. On the other hand, I haven't heard much on Oracle vs. Postgresql. I have used Postgresql quite a bit, and think it's wonderful.
What is Postgresql missing that Oracle has? What does Oracle have that Postgres is missing? When do these features matter?
Let the flaming begin...
The main use for ultra scalable, ultra high-performance databases is for the core transactional DB of a large-scale app. Most apps that serve the other 80% of the DB needs don't need to be Oracle-grade. MS Sql Server or PostrgessSQL are a perfect fit. In fact, for the vast majority of companies, even their main transactional DB doesn't need to be Oracle-grade.
They may be effective, but Oracles sales organization is annoying as hell. I've downloaded many things from Oracles web site, and unfortunately my account *HAD* my real contact information on it. Invariably within 48 hours of any download I would get a call from an Oracle "Technician" asking in broken English if I needed any assistance with whatever I downloaded. The conversation would quickly turn into a mini-license audit, where the "Technician" was more interested in our existing installs and what our licensing was like than how the downloaded product was working. One the rare occasion that I actually could have used some help, the "technician" wouldn't be able to answer the simplest question. It got so bad that the corporate office sent a memo around saying don't talk to anyone from oracle for any reason, just forward them to someone at the home office whos job it is to deal with them.
It's almost like Oracle is doing everything they possibly can to promote MS Sql. They just went gestapo on us about licensing and decided that every person who walks up to a kiosk running an app with an oracle back end needs to be a named user, that or we need to buy per processor licensing. $80,000 for our dual proc backend box buys a lot developer time to port to a different database.
They who would give up an essential liberty for temporary security, deserve neither liberty nor security
about 30% off retail is more typical, even so, you're saying $18,000 a processor is a deal for something that takes all kinds of patches to make seemingly stable for a particular system? Something that needs 3rd party software to make shared databases or clusters that aren't a nightmare to admin (and even more humourous is that Oracle salesforce is aggresively trying to steer away customers from these 3rd party products that give them some hope of stability and sane admin, to using Oracle's own amateurish filesystems, clustering and tools, which are an admin's nightmare and have about 25% the functionality) I predict Oracle is in for a big attitude adjustment. And yes, I do Oracle clustering and migrations for a living.
Don't shout about 40k per proc - that's for the enterprise licenses... and ONLY on large boxen.
The "free" edition is that - free with a machine size/data volume limit.
The "Standard Edition One" is prolly the most compelling - $5k per proc LIST. Can only run on Dual proc boxen and can't cluster. Has ALL the features of enterprise besides that.
There is another edition in between that allows bigger boxen and clustering but misses out on some of the uber fancy stuff in enterprise (which, while cool - isn't stuff you use day-to-day).
The standard Edition One came out ~2yrs ago - they're trying to work in the shops/price range where SQLServer usually lives. And seriously, you can push a lot of data through a big dually with enough ram. Not going to support 50 million users - but both SQLServer and Oracle will do an awful lot on a properly configured Dual proc server.
That said - the previous poster was right - if you're paying retail you're nuts, and couldn't negotiate your way out of a paper sack.
I use MySQL, SQLServer, and Oracle on a fairly regular basis in different places, and for vanilla stuff A RDMS is a commodity service.
Until you're using your ERP to generate 4+MB sql statements (a supported feature in the latest DB2 version), or are doing some really ornery stuff, the DB is just a place to dump data. They all let you do backups etc, provide reasonable management tools etc. (Oracle does have some REALLY cool features from a DBA's standpoint that are missing in MySQL et al.)
Dev styles are different in different shops - if you're an "All CRUD/LOGIC in stored procs" shop then the lang in the DB (TSQL vrs PL/SQL) might be important to your devs... but if you are working on relative DB independence or working on portable COTS software, a DB is just another service.
No I don't work for Oracle.
I think it was a Playboy interview with Ellison in which he mentioned that he was all for a national ID system. I couldn't help but think then that he was for it because a) he is uber-rich so privacy concerns don't bother him, and b) it would create HUGE gov't contracts for high end database firms... like his. Now, there are plans to create a nationwide database system for tracking IDs, and Ellison is saying their business is going to expand in the next few years... maybe I'm just grasping at straws here, but the coincidences frightening.
Oracle has a couple initiatives going on... RAC and ASM. Here's about how it works (these are BROAD numbers, mind you).
.com crash, your average back-end IT infrastructure had a few main pieces:
6 years ago, before the
Cisco networking gear. Sun servers. EMC disks. Oracle database.
So you paid a few mil for the network. A few mil for the servers. A few mil for the EMC disks. And a mil or two for Oracle at $10K/cpu (list)
NOW, Oracle says "we have 10g RAC, use us to replicate across CPUs. Don't pay $3M + $1M/year for Sun support... buy a rack of Linux servers (or blades) and hardware costs $250K versus $3M... support is nearly free because if a machine fails, just pull it from the rack, throw it in the trash, and swap a new one in there.'
And lo, they promoted "Linux is unbreakable" and charged an extra $10K/cpu for this service. Total end cost to customer is LESS than the old solution, and it's way FASTER.
Then, they have another initiative... use ASM and the low-cost storage initiative... use the database to span multiple disks, and handle all the replication/redundancy. Don't pay EMC $3M + $1M/year for Symmetrix support. Put it on lower cost gear (Clariion, Nexsan ATAboy, or *gasp* Apple Xserve RAID even). Spindle speeds are slower, so you buy 2x as many spindles and get the same IOPS. Hey, you save a couple million and pay more per CPU (say $40K/cpu list) for the whole shootin' match.
So your cost goes from (again, broad numbers)
$2M Cisco + $3M Sun + $3M EMC + $2M Oracle = $10M + maintenance
to:
$2M Cisco + $500K Dell + $500K Dell or Apple + $4M Oracle = $7M + maintenance
You save $3M a year! Of course Oracle gets a bigger cut. But it's "win-win."
Of course, there is the one subtlety here -- you are now using Oracle's RAC and ASM so you can use cheap hardware and storage. This stuff is totally proprietary, so if Oracle comes back come renewal time and doubles your per-CPU cost for the software, it's a helluva lot harder to rip it out than just porting stored-procedure code.
Well, it's easy enough to avoid their marketing calls. Just say, "thanks, it's working fine" and hang-up. It's not like they're going to lock your account or anything like that. Don't ask questions of the marketing droid, go to OTN or MetaLink or many of the DBA sites on the net.
Oracle also went gestapo at my site as well (state government), insisting on licenses for development databases (right or wrong, they've never done that before). They insist on the same number of CPU licenses for *all options* purchased. In our case, we have a big RAC install with 36 CPUs, but we also have many other non-RAC systems, on the order of 100's of CPUs. Oracle insists we should purchase the same number of RAC modules as Enterprise Database CPUs. This would mean we would have to purchase 100's of RAC CPU licenses even though we only have one RAC cluster. Furthermore, they won't allow you to mix user-licenses with CPU licenses (it's either one or the other).
We have many, many database installs due to our prior arrangement with Oracle for a "site license" which meant that we paid for a named-user license for every employee (10's of thousands of users). Over the years, Oracle databases have been created willy-nilly across the enterprise. Since everything is going web-based now, Oracle won't talk to you about user-licensing for any database exposed to the net (potentially billions of named users - natch). For any web-exposed database, one can *only* purchase CPU licenses, so purchasing named-user licenses for internal use was not an option. Therefore, with all our little database servers throughout the enterprise, we were looking at a huge expense.
Beware Oracle licensing these days. Your milage may vary, but this is the new creedo, at least as far as my shop is concerned. We ended up negotiating all of this to something resembling reasonable, but it was a huge hassle and thankfully we have some leverage and a powerful CTO. Meanwhile, Postgress and yes, even MS SQL-Server databases are starting to become more prevalent around here.
I see a lot of comments here debating the relative merits and costs of Oracle's DBs versus PostGreSQL, MySQL and MS SQL Server. I don't believe those toys are Oracle's main competitors; they aren't in the same ballpark. In my experience, IBM's DB2 most certainly is in Oracle's league, if not ahead in some respects, but I see almost no mention of it here.
Does anyone have any experiences to share comparing Oracle's DB with a proper DB like DB2, rather than those other toys?