Oracle prices themselves out

6 Dec

Please also see the update I’ve posted. I ported my most demanding application to Postgres just to see how it’d handle.

I have to rant. Nobody reads this so who cares.

I work for a department that has been running 8i since 8i was shiny and new. Users don’t care about the database and they shouldn’t have to, but today I had to ask them for over $40,000 for a single database because it has applications accessible externally. I think of that as 1/2 a person that could be here working, and I think of ol’ Larry.

He doesn’t need another yacht but I do need another programmer.

We have four main applications and only one of which runs Oracle. Years ago I’d managed to convince them to use Postgres for the new deployments because they were new and there was no data porting to do. Somehow I’d convinced them to okay that. Nowadays Oracle is the standard and it has been decreed that all things will run Oracle.

Of course, years ago the only argument against Postgres was a general, unspecified concern about reliability.

$ ps -Tef  | egrep ‘[p]ostmaster|[S]TIME’
UID        PID  SPID  PPID  C STIME TTY          TIME CMD
postgres 20195 20195     1  0  2006 ?        07:41:24 /usr/local/pgsql/bin/postmaster
$ uptime
 17:23:17 up 764 days,  4:20,  3 users,  load average: 0.65, 0.50, 0.49

Back then they were concerned about the reliability of Linux, too. Yeah. The last time this box was shut down was to move it.

If I worked anywhere else, Oracle would be a non-starter. Every database is going to have some data that people are going to want to give access to partner businesses, customers, etc. Oracle’s business model makes no sense, yet somehow people pay it out of some nebulous concern or lack of knowledge.

If I was starting a new project or new company, Oracle would be a non-starter. Who in the world has money to spend thousands per CPU for anything that touches the Internet, for a company that doesn’t make money yet? Nobody. That’s why you see MySql and Postgres uptake. Because they’re solid, they’ve got the features people actually use, and because Oracle is too damned expensive.

12 Responses to “Oracle prices themselves out”

  1. Peter Veentjer 07. Dec, 2008 at 9:55 am #

    I don’t think that those prices are paid for the actual database functionality. The prices are for buying off responsibility. The same goes for IBM stuff. It is expensive, bloated, but nobody ever got fired for buying IBM.

  2. bob 07. Dec, 2008 at 2:27 pm #

    Your nuts. Its unfortunate that you would be in such a position to sell to your user base the cost of oracle. 40K? Not that much.

    Given that oracle will perform orders of magnitudes better than postgres or mysql, its really a matter of cost of switching to faster hardware which is trivial. Theres not a reason to get off of oracle in the world.

    Either provide a real product driven comparison which actually accounts for the pitfalls of free open source DBs vs oracle or dont talk about it at all.

    You’re just whining because you dont have any real metrics besides dollar signs to impress your customers with. And thats YOUR fault.

    Or maybe your customers ARE really interested in a slower DB that requires more hardware just to get by.

  3. Mike Johnson 07. Dec, 2008 at 8:10 pm #

    “40K? Not that much.”

    Well, yes it is. That’s half an average programmer’s salary in this area, as I said. And it’s a complete waste of money if Postgres can handle it just as well.

    “Given that oracle will perform orders of magnitudes better than postgres or mysql, its really a matter of cost of switching to faster hardware which is trivial.”

    I have to replace 8i eventually. That price didn’t include hardware. Just licensing.

    And who said Oracle performs better for me? I have one app running on Oracle and three that run on a Postgres database. They run on similar hardware, yet the Oracle server is the one that gives me the performance problems. Postgres gets hammered all day long by the user’s poorly written reports and handles it just fine.

    And it’s true that it’s my fault. While Postgres generally just works out of the box, Oracle requires intimate knowledge of rollback, temp space, segments, extents, block sizes, and on and on. For truly large installations, I’m sure those are useful things to be able to customize. I do what I can but performance experimenting on a live server is dangerous.

    That’s why there’s a whole secondary industry dedicated to making Oracle faster. High priced consultants who are versed in the gospel of Oracle and who can make it actually work.

    On the other hand, I’ve never had to write funky procs just to handle DELETE on large set of rows by committing at regular intervals on Postgres. It just works.

    “You’re just whining because you dont have any real metrics besides dollar signs to impress your customers with.”

    I said this was a rant, but that’s a good idea. Perhaps I should track all of the care and feeding that goes along with using Oracle. I hadn’t bothered because I don’t think it’ll make a difference — Oracle has been decreed.

    But then, you haven’t said anything that would convince me either. You tried to say Oracle performs better, but that’s not true in my case. So why should we spend $40,000?

    For that price I could have a whole farm of Postgres boxen.

  4. Ewan 09. Dec, 2008 at 2:11 pm #

    Oracle is certainly an expensive piece of software, but then sometimes the business might consider the data being stored is worth the reduction in risk involved. Fundamentally this kind of decision has to be taken from a risk reduction perspective.

    In Oracle’s defence, you’re talking about Oracle 8i here, a piece of software released in 1999. For it to still be running 9 years later in your production environment is surely a testament to how reliable it is? Have you experienced any data loss in this time because Oracle messed up?

    And since the Oracle licence is perpetual, your $40,000 licence fee is a pretty solid long term investment if you’re going to get a similar length of use out of it (you can re-use the software on a new box in the future when you upgrade). You mention it being half the salary of a new developer, but of course it’s only half the salary of that developer for 1 year, next year you’ll still need to pay him.

    From the price it sounds like you put in Enterprise edition, can you tell me if you needed a specific feature? It sounds like Standard Edition One would be suitable for your use. Standard Edition One has a list price of $12,000 for the 2 CPU sockets option.

    MySQL and Postgres are both very solid databases that I happily deploy and use, but Oracle has its place too – though it may not be in your department.

  5. Mike Johnson 10. Dec, 2008 at 5:56 am #

    Yes, both Oracle and Postgres have been crazy reliable. We did actually have a data corruption bug early on with 8i but a patch fixed that.

    Although, our Postgres version is over 5 years old. It’s no slouch either.

    By the way, they would usually not have such uptime if it weren’t for the policy against giving developers root… I would make security and bug fix upgrades. I’m usually not one to brag on uptime even when it is impressive.

    The price I mentioned was given to me by the DBA team who know a lot more about it than I do. Obviously I don’t buy Oracle often. But they seemed adamant that licensing by CPU required the enterprise version.

    “You mention it being half the salary of a new developer, but of course it’s only half the salary of that developer for 1 year, next year you’ll still need to pay him.”

    I guess I was thinking we could pay somebody to do nothing but port to Postgres for six months and still break even… Of course, it shouldn’t take but a couple weeks for the actual work since we have most of the code already. Testing all the services takes longer but that should still add up to some serious savings.

  6. Another guy named Mike 10. Dec, 2008 at 7:25 am #

    So, my little rant about Oracle got a lot more attention than I’d expected.While I was mainly focused on the price of Oracle, now I’d like to explore my favorite alternative a little more: PostgreSQL (PG). I’ve been busy the last few days using the exce

  7. Brian 10. Dec, 2008 at 2:41 pm #

    Dude…rtfm

    You’re hinting RBO in 8i when you could be using 10g?

    One word: “Upgrade”

    Read the license agreement. Download the installer. Migrate.

  8. Ewan 10. Dec, 2008 at 5:13 pm #

    I don’t want to contradict your DBA team, but Oracle 8i was definitely available in standard edition with per-CPU licensing.

    That would drop your cost to $15,000 instead of $40,000 for enterprise.

    Of course, if you phoned up Oracle, discussed Postgres with them, and then sat back and waited, you’d end up paying $15,000 or less for the enterprise licence. Oracle will discount like mad if you mention open-source databases to them.

    You should have a look at EnterpriseDB if you’ve not already seen it http://www.enterprisedb.com/ – it’s the Postgres back-end, with an Oracle compatibity layer. Might be an interesting proposition for your management.

  9. Mike Johnson 10. Dec, 2008 at 5:19 pm #

    I don’t know, maybe the DBA team is selling me a line. I’ll try again. Thanks for that!

    I’ll check out the link, sounds cool.

  10. Tim 12. Dec, 2008 at 6:38 pm #

    >>”You’re hinting RBO in 8i when you could be using 10g?”

    Did you say “10g”. Dude, 11g is out.

    http://www.oracle.com/database/index.html

    Sounds like *you* need to “UPGRADE” ;)

  11. stoolpigeon 12. Dec, 2008 at 7:14 pm #

    Yup- this doesn’t make sense. You pay Oracle for support or you don’t pay them at all and you are running unlicensed software. If you are paying then upgrading costs nothing. Nada. You can upgrade to every new version the day it comes out. So forget 10g – 11g is where I would go.

    The only thing that would require additional funds is if you are adding on new features that cost more. Say partitioning – something you can’t get in postgreSQL or MySQL.

  12. Mike Johnson 12. Dec, 2008 at 8:02 pm #

    Sure you can do partitioning with Postgres. Check out:

    http://enfranchisedmind.com/blog/2006/11/04/postgres-for-the-win/

Leave a Reply