Hacker News new | ask | show | jobs
by atombender 2669 days ago
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.