Oracle as the new IBM — has a long decline started?
When I find myself making the same observation fairly frequently, that’s a good impetus to write a post based on it. And so this post is based on the thought that there are many analogies between:
- Oracle and the Oracle DBMS.
- IBM and the IBM mainframe.
And when you look at things that way, Oracle seems to be swimming against the tide.
Drilling down, there are basically three things that can seriously threaten Oracle’s market position:
- Growth in apps of the sort for which Oracle’s RDBMS is not well-suited. Much of “Big Data” fits that description.
- Outright, widespread replacement of Oracle’s application suites. This is the least of Oracle’s concerns at the moment, but could of course be a disaster in the long term.
- Transition to “the cloud”. This trend amplifies the other two.
Oracle’s decline, if any, will be slow — but I think it has begun.
Oracle/IBM analogies
There’s a clear market lead in the core product category. IBM was dominant in mainframe computing. While not as dominant, Oracle is definitely a strong leader in high-end OTLP/mixed-use (OnLine Transaction Processing) RDBMS.
That market lead is even greater than it looks, because some of the strongest competitors deserve asterisks. Many of IBM’s mainframe competitors were “national champions” — Fujitsu and Hitachi in Japan, Bull in France and so on. Those were probably stronger competitors to IBM than the classic BUNCH companies (Burroughs, Univac, NCR, Control Data, Honeywell).
Similarly, Oracle’s strongest direct competitors are IBM DB2 and Microsoft SQL Server, each of which is sold primarily to customers loyal to the respective vendors’ full stacks. SAP is now trying to play a similar game.
The core product is stable, secure, richly featured, and generally very mature. Duh.
The core product is complicated to administer — which provides great job security for administrators. IBM had JCL (Job Control Language). Oracle has a whole lot of manual work overseeing indexes. In each case, there are many further examples of the point. Edit: A Twitter discussion suggests the specific issue with indexes has been long fixed.
Niche products can actually be more reliable than the big, super-complicated leader. Tandem Nonstop computers were super-reliable. Simple, “embeddable” RDBMS — e.g. Progress or SQL Anywhere — in many cases just work. Still, if you want one system to run most of your workload 24×7, it’s natural to choose the category leader.
The category leader has a great “whole product” story. Here I’m using “whole product” in the sense popularized by Geoffrey Moore, to encompass ancillary products, professional services, training, and so on, from the vendor and third parties alike. There was a time when most serious packaged apps ran exclusively on IBM mainframes. Oracle doesn’t have quite the same dominance, but there are plenty of packaged apps for which it is the natural choice of engine.
Notwithstanding all the foregoing, there’s strong vulnerability to alternative product categories. IBM mainframes eventually were surpassed by UNIX boxes, which had grown up from the minicomputer and even workstation categories. Similarly, the Oracle DBMS has trouble against analytic RDBMS specialists, NoSQL, text search engines and more.
IBM’s fate, and Oracle’s
Given that background, what does it teach us about possible futures for Oracle? The golden age of the IBM mainframe lasted 25 or 30 years — 1965-1990 is a good way to think about it, although there’s a little wiggle room at both ends of the interval. Since then it’s been a fairly stagnant cash-cow business, in which a large minority or perhaps even small majority of IBM’s customers have remained intensely loyal, while others have aligned with other vendors.
Oracle’s DBMS business seems pretty stagnant now too. There’s no new on-premises challenger to Oracle now as strong as UNIX boxes were to IBM mainframes 20-25 years ago, but as noted above, traditional competitors are stronger in Oracle’s case than they were in IBM’s. Further, the transition to the cloud is a huge deal, currently in its early stages, and there’s no particular reason to think Oracle will hold any more share there than IBM did in the transition to UNIX.
Within its loyal customer base, IBM has been successful at selling a broad variety of new products (typically software) and services, often via acquired firms. Oracle, of course, has also extended its product lines immensely from RDBMS, to encompass “engineered systems” hardware, app server, apps, business intelligence and more. On the whole, this aspect of Oracle’s strategy is working well.
That said, in most respects Oracle is weaker at account control than peak IBM.
- Oracle’s core competitors, IBM and Microsoft, are stronger than IBM’s were.
- DB2 and SQL Server are much closer to Oracle compatibility than most mainframes were to IBM. (Amdahl is an obvious exception.) This is especially true as of the past 10-15 years, when it has become increasingly clear that reliance on stored procedures is a questionable programming practice. Edit: But please see the discussion below challenging this claim.
- Oracle (the company) is widely hated, in a way that IBM generally wasn’t.
- Oracle doesn’t dominate a data center the way hardware monopolist IBM did in a hardware-first era.
Above all, Oracle doesn’t have the “Trust us; we’ll make sure your IT works” story that IBM did. Appliances, aka “engineered systems”, are a step in that direction, but those are only — or at least mainly — to run Oracle software, which generally isn’t everything a customer has.
But think of the apps!
Oracle does have one area in which it has more account control power than IBM ever did — applications. If you run Oracle apps, you probably should be running the Oracle RDBMS and perhaps an Exadata rack as well. And perhaps you’ll use Oracle BI too, at least in use cases where you don’t prefer something that emphasizes a more modern UI.
As a practical matter, most enterprise app rip-and-replace happens in a few scenarios:
- Merger/acquisition. An enterprise that winds up with different apps for the same functions may consolidate and throw the loser out. I’m sure Oracle loses a few customers this way to SAP every year, and vice-versa.
- Drastic obsolescence. This can take a few forms, mainly:
- Been there, done that.
- Enterprise outgrows the capabilities of the current app suite. Oracle’s not going to lose much business that way.
- Major platform shift. Going forward, that means SaaS/”cloud” (Software as a Service).
And so the main “opportunity” for Oracle to lose application market share is in the transition to the cloud.
Putting this all together …
A typical large-enterprise Oracle customer has 1000s of apps running on Oracle. The majority would be easy to port to some other system, but the exceptions to that rule are numerous enough to matter — a lot. Thus, Oracle has a secure place at that customer until such time as its applications are mainly swept away and replaced with something new.
But what about new apps? In many cases, they’ll arise in areas where Oracle’s position isn’t strong.
- New third-party apps are likely to come from SaaS vendors. Oracle can reasonably claim to be a major SaaS vendor itself, and salesforce.com has a complex relationship with the Oracle RDBMS. But on the whole, SaaS vendors aren’t enthusiastic Oracle adopters.
- New internet-oriented apps are likely to focus on customer/prospect interactions (here I’m drawing the (trans)action/interaction distinction) or even more purely machine-generated data (“Internet of Things”). The Oracle RDBMS has few advantages in those realms.
- Further, new apps — especially those that focus on data external to the company — will in many cases be designed for the cloud. This is not a realm of traditional Oracle strength.
And that is why I think the answer to this post’s title question is probably “Yes”.
Related links
A significant fraction of my posts, in this blog and Software Memories alike, are probably at least somewhat relevant to this sweeping discussion. Particularly germane is my 2012 overview of Oracle’s evolution. Other posts to call out are my recent piece on transitioning to the cloud, and my series on enterprise application history.
Comments
28 Responses to “Oracle as the new IBM — has a long decline started?”
Leave a Reply
Perfect analysis. One ever so small remark: I would drop the sentence about stored procedures as they are widely used ( for a good reason ) and probably better programming practice then keeping code elsewhere. Some engines ( Stonebraker’s VoltDB) are exlusively programmed via stored procs . You will also remember it was Sybase killer feature in early 90s and it took Oracle years to catch up with.
Hi Ranko,
Thanks! I’ll look more closely at the subject! That said:
VoltDB hasn’t exactly set the world on fire.
I’ll confess to conflating in my mind stored procedures with the abominable habit of tying code to specific widgets in a fat client GUI.
But I also recall stored procedures being used to enforce referential integrity, which is now more commonly declarative. I do recall them being a maintenance nightmare. And I certainly recall Sybase falling out of the top ranks of competitors in around 1995.
I’d say Ranko’s right. If you have complex code then some way of wrapping it as objects for reuse/inheritance/data-hiding is vital, and stored procedure gives you most of that.
To me, stored procedures per se aren’t really the issue – surely it’s the proprietary PL/SQL language that Oracle use within those procedures that make them the ultimate in “lock in”.
Most of Oracle’s competitors use User Defined Functions in one of the leading programming languages, like Java, Lua, R, Python, C++ etc. and even Oracle support Java these days.
I would hate to have to sell the idea of PL/SQL to new customers when there are these more open options available.
Oracle explicitly wanted its DBMS to be an app server. That didn’t quite work out, however. Instead, Oracle got great share in app servers as we understood them then and now, separate from the DBMS.
One possible way of categorizing RDBMS and other features is good/mainstream vs bad/obscure/rarely used/useless/problematic features. In Oracle RDBMS world stored procs would definitely belong to the former category. On the other hand, we might safely say that Object-Relational mapping, triggers and many other features belong to the latter category.
If I remember correctly one of Ray Lane’s biggest achievements ( in his own words) was release of Oracle 7 programmable ( read stored proc enabled ) server. Sybase did lose the battle with Oracle, but not because of stored procs.
Oracle RDBMS had referential integrity clauses in v6, i.e. years before stored procs were introduced ( primary key syntax worked, but did nothing – it was there for future compatibility in true Oracle manner 🙂 ). Oracle RDBMS RI was always declarative.
The most substantive technical discussion I had with Jnan Dash, after he came over to Oracle from IBM, was probably about declarative referential integrity. 🙂
Moore’s law commonly moved to multi-cores in 2011. Reports top support engineers are increasingly dealing with weird concurrency and garbage collector incidents. Most of Oracle’s Apps were written for single cores or a few cores, how will they respond to 12, 24, 48 or hundreds of cores?
Coda. Not just an Oracle issue. Microsoft’s latest SQL server products are Azure not ISV distributed.
May be I am minority because I am admin of ORACLE infrastructure and developer/solution provider. I do see ORACLE platform threatened by Big Data solutions across many verticals. However, the very thing some of forum users are critical of is strength of the ORACLE RDBMS – PL/SQL language. How many vendors/languages allow you to perform flawless calculations totally intergrated with database in ACID manner & allow you to encrypt your code and keep it on disk/email & install it on ANY of ORACLE’s platform? Sure few may be – but thousands and thousands of lines of code integrated with database schema & great object dependency control is hard to put $$ figure on. Sure you can migrate to Mysql or SQLServer and have issues in performance.. Then how many platforms offer RAC? And of course you can upgrade DB server with new hardware/OS and you get uplift without spending any time (mostly) – thats a great feature! I think debate should be if you have 50k – do you need ORACLE Standard Edition or you want to use some other product. I know SE scales very well as well. And if dollars & cents count – I am sure cost of database & admin is not that much. I can tell that because I do this day in and out. Good design & good policies can solve 95% of problems.
thank you
Sudhir,
You’re right that once an app is on Oracle and makes significant use of PL/SQL, migration is very difficult. It will run on Oracle until such time as it is completely replaced.
And yes — the biggest risk to account control for Oracle is when an SE customer needs to replace it. Upgrading to EE is a huge commitment, and at that point enterprises look for alternatives.
excellent article. i am expecting this sort of news on oracle since 2-3 years but I have not seen any tech magazines publishing it in a big way.
The problem is oracle still being used NOT only as OLTP but also on most ANALYTIC platforms as well. Oracle should be used at the max only for OLTP applications for its ‘transaction safety features’
Once in place Oracle indexes require little/no maintenance/rebuild activity, but you need mini PhD to properly place them.
But even so, success is evasive ( nothing really helps once tables reach certain and not so humongous size ). This is exactly the spot where analytic specialists like Netezza moved in. ( Exadata is basically Oracle’s MPP lipstick with non-maintenance required storage indexes – Netezza Zone Maps copy ).
Well, the biggest thing about Exadata was partial parallelism — data was reduced a lot by another tier of processors before it was streamed to the classic shared-everything Oracle system.
Ranko – Index, table placement is thing of past. Now you have ASM (Automatic Storage Management) – Pretty much its a single diskgroup with all tables, indexes, lobs and whatever sitting there. Its getting RAID at ASM AND storage level. No real hotspots in general. And Phd is no longer needed. Adding space is easy and quick and automated!
There is one paid option called partitioning – works like a charm if you design queries correctly and helps you manage ILM and all sort of things without killing system.
The best of the Exadata is optionally columnar storage and SQL engine offloaded to storage server – thus when you have query such as
select * from emp where state=’CA’
and there is no index on ‘state’, storage engine will filter data and will ship CA rows to db server. Otherwise traffic between SAN-hba-db will be full table data which the db process will then throw away most of the rows. But then Exadata costs a lot as well..
my 2 cents
Sudhir,
re: index placement – I meant deciding which columns to put an index on. Even with all kinds of Oracle tools ( advisers ) it is still an art.
Oracle RDBMS did demonstrate amazing ability to stretch into all possible directions ( programmable server, ORM, MPP, kitchen sink ).
But all bells and whistles can’t hide its generic nature ( as Stonebraker said – it is not particularly good at anything ) and the fact it is a fat hog ( hence lipstick reference above ). No matter what you do there is still tremendous amount of Oracle activity occurring under the hood just taking care of itself ( for example even with NOLOGGING UNDO will still happen; latching etc. ).
New, especially analytic vendors come in and build specialized engines ( more or less ) from scratch layer by layer. All Oracle wizardry can’t compete with that, since there is an albatross hanging around its neck in shape of backward compatibility requirement. So yes, Oracle ( RDBMS ) is a new mainframe and Oracle is new IBM.
[…] past” and “stuff I keep saying so I might as well also write down. My recent piece on Oracle as the new IBM is an example of both themes. In this post, another example, I’d like to memorialize some […]
Curt, you made many of us ‘think’. I’m no fanboy of Oracle outside of OLTP, don’t know that I disagree with any of the arguments you articulated. What are your thoughts on Teradata, one could argue they have peaked (I wish I had shorted them a while ago), especially since they have fewer ‘products’ to generate revenues from. They have laid off scores of folks, likely need to do more. (lot of good-ole boy legacy there)
Doug,
Teradata never had close to the account control Oracle or IBM do. And its one-time great price umbrella has been leaking since the rise of Netezza, which is now pretty much a decade ago.
So while Teradata faces lots of competitive issues, I wouldn’t frame the narrative in the same terms.
[…] even if the long-term trends favor modern database systems like MongoDB and Cassandra, as analyst Curt Monash posits, the future takes a long […]
Do you know that DB2 is able to simulate Oracle db and understand PL/SQL ?
http://www.ibm.com/developerworks/data/library/techarticle/dm-0907oracleappsondb2/
http://www.dbms2.com/2009/04/24/ibms-oracle-emulation-strategy-reconsidered/, Diego.
The assertion that Oracle (DBMS) isn’t particularly good at anything made me chuckle 🙂
Complex, expensive, slow (for analytics) and hard to move away from, mainly due to PL/SQL and IT dept fanbois (turkeys don’t vote for Xmas) are my main takes on Oracle.
Like IBM, Oracle’s downward trend, if there is one, will be long and slow due to the very large customer base and the general glacial speed at which blue-chip companies make significant changes to their world.
Oracle Applications are the new IBM System/36?
What if one or more of the leading cloud majors brings collaborative machine learning to business developers of enterprise applications.
PeopleSoft / Siebel capabilities customized in a few weeks (ouch).
[…] this threat, independent analyst Curt Monash notes: “There are basically three things that can seriously threaten Oracle’s market […]
“The problem is oracle still being used NOT only as OLTP but also on most ANALYTIC platforms as well. Oracle should be used at the max only for OLTP applications for its ‘transaction safety features’” Oracle has rich set of analytic and statistical functions which makes it perfect choice for analytic platforms. Your comment that Oracle should only be used for OLTP shows your ignorance of modern database systems.
Sabya,
If your employer has an unlimited budget, then it might make sense to consider the benefits of certain technologies without also considering their costs. Is that your situation?
Investigative journalist Mike Wilson gives a perspective of Oracle in his 2003 book titled, The Difference Between God and Larry Ellison – God Doesn’t Think He’s Larry Ellison.
Well Hadoop leads in analytics, at a fraction of the cost of Oracle… I agree with Curt
[…] (RDBMS). Embora a Oracle atualmente controle 40% do mercado de banco de dados pago, analista Curt Monash avisa que o NoSQL é uma das maiores ameaças à sua […]