Hacker News new | ask | show | jobs
by wtf42 2669 days ago
It's not because of poor Oracle reputation, it's because of technologies. Oracle is losing database-related markets.

15-20 years ago Oracle was №1 in database-related technologies and everyone knew it. For that time they had almost perfect solutions for most database-related problems on market. But market is changing. Today they stuck with their good solutions for outdated problems and their solutions doesn't solve modern problems well.

So here is my short list of modern database-related problems, for which I think Oracle is not best at:

- files/data storage (today there are better non-database solutions for that, 15-20 years ago it was a good practice to store files in database),

- full-text search (10-15 years ago substring search was enough, today we want complex search criterions),

- consistency across data centers,

- key-value cache (today we want almost instantaneous cache answers),

- OLAP (there are faster solutions on market).

15-20 years ago Oracle was one and only one solution for almost all database-related business problems. Today for many modern problems there are better solutions than Oracle.

2 comments

Twenty years ago most of the databases we've come to trust were still quirky and strange (Postgres before SQL) or toy-like in capability (MySQL on MyISAM). A lot has changed since then.

Competitors like DB2 and Sybase seem to have utterly faded away, so it's surpising that Oracle's still a factor at all.

Is there anything that Oracle still does that nobody else can match?

Well, it's undeniable that as an OLTP RDBMS, Oracle is very good, at least if you ignore the complexities of managing it. Almost nobody can beat it on features.

For example, consider partitioning. Oracle has had seamless predicate-based table partitioning for about 20 years now. Postgres is getting there, but is still lagging behind. With Oracle you just tell it to partition by some expression(s) and off you go.

Then there are things like multi-master replication, bitmap indexing and other nice features. Oracle is also extremely fast. The underlying table storage is very pragmatic, with a hybrid MVCC system that has both an undo and a redo log. Tables are written in-place, and transaction contention is handled by linked lists of records to the undo log, so getting an older copy of a row is still almost as cheap as Postgres.

Of course, it's beaten in some areas. It's not great a full text search, I believe. Compared to Oracle, Postgres' transactional DDL is positively magical. With Oracle and nearly every other database out there, things like "drop table" can't run inside a transaction.

I would never want to work with Oracle, but I can't deny that it's got some great features.

Sales. What I hear from friends in big co's is that the decision to use Oracle is made on the golf course and not in engineering. Engineering is actively moving to the other technologies, and eventually the companies will stop paying for Oracle because it is no longer in use.
Thanks for pointing me to "Postgres before SQL" - the history page at postgresql.org has links to the initial documents - QUEL is like a hint of an alternative universe. I think it is time to pick up a book by Michael Stonebraker.
And thank you in turn for the reference. It does indeed sound very interesting [1]. I had never heard of QUEL either [2].

[1] https://www.postgresql.org/docs/8.4/history.html

[2] https://en.wikipedia.org/wiki/QUEL_query_languages

SQL Server is a fork of Sybase’s code, so the child product became much more popular than the parent.
My understanding is that it's a complete rewrite, perhaps more than once at this point.
Probably, but it started as a fork. Last I looked a T-SQL programmer can adapt pretty quickly still.
If you are doing financial services like insurance or banking, you might be stuck on Oracle because you need active active worldwide database replication and none of the 1st-gen NoSQLs offer global ACID transactions. As someone who's been working in databases for over a decade I've seen customers develop database evaluation strategies, but still be unable to migrate away from Oracle. That is changing with the distributed ACID transactions offered by databases like my employer FaunaDB.
Doesn't Spanner support ACID transactions?

(Disclosure: I work for Google)

Yes it does.
> Is there anything that Oracle still does that nobody else can match?

Selling to enterprise.

which is so odd to me, I use DB2, in that our AIX/Oracle teams have many people working as "DBA" but on our DB2 iSeries there are two of us and our data sets are as large. The difference is there are so many things that the iSeries does automatically that it makes being a DBA a breeze.

I really need to get an understanding of the issues the Orcale team faces one day but they tend to look down on us and the pc groups

When oracle corrupts data, you have to google magic incantations and type them in console. I did that many times. But what I never understood is why do I have to do so in the first place, why Oracle does not self-heal itself.
Consultant income driven development.
Sales, and sailing.
It's true. Postgres doesn't have a very competitive America's Cup team.
Active-Active clustering also know as Oracle RAC.
Suing people.
Oracle isn't great in the cloud or with autoscaling either. With the move to microservices it is less important to have one giant centralized database, and "less good" alternatives have become good enough. Oracle is pretty much the opposite of agile when it comes to facing these challenges.