Hacker News new | ask | show | jobs
by TheLogothete 3745 days ago
The comparison with SQL Server is not very sound. SQL Server is MUCH cheaper. I would venture to say it is more performent and is on-par with features (certainly will be after the next realease). Moreover. SQL Server is not brute forced in the way you say Oracle is, especially with CRM. Maybe something like that happens with the ERP products, but much more mildly.

The most important difference is that SQL Server has everything that Oracle has to offer at a much, much cheaper price.

I agree that comparison with postgres and mysql are pointless. They offer a tiny fraction of what enteprise products have. If you need it, you will know.

3 comments

SQL Server has everything that Oracle has to offer

One thing that comes to mind is Linux (or Solaris, HP-UX, or other nixes) support. SQL Server is essentially Windows-only.

Assuming this comes to fruition[1], SQL Server is going Linux middle of next year. Crazy times in Microsoft land

[1] https://blogs.microsoft.com/blog/2016/03/07/announcing-sql-s...

Yes, that's why I said this statement will be true for the upcomming release. I don't think this particular feature is that important anyway. Being Windows only has allowed SQL Server to e much more performent in many cases. Cost is not a factor.
The main advantage Oracle has over SQL Server in my opinion is that Oracle has tablespaces and multi-version concurrency control baked in, whereas SQL Server has ONE TempDB and snapshot isolation relying on that one TempDB.
On the nose. SQL Server is a great product, but their MVCC is basically hacked in. They're also lacking in the features Oracle has around their Undo tablespace, and auditing.
As a PostgreSQL user I dread the idea of running a database without MVCC, even MySQL and SQLite have decent MVCC support.
Then you really don't want to read about escalation locking...but if you want to be horrified visit the following:

https://technet.microsoft.com/en-us/library/ms184286(v=sql.1...

Postgres MVCC is anything but decent. It will take over control of the main heap. Good luck tackling that.
What exactly does that mean? MVCC is definitely different in Oracle and Postgres, but that doesn't mean it "takes over the heap" it just means it stores a new version of the row in the same heap. Later on an auto-vacuum process clears out the old heap page, or sometimes on demand when a select, update or delete accesses the row.

Oracle stores the old version of the row in a rollback segment.

According to the following article, "only changed values are written to undo whereas PostgreSQL/SQL Server creates a complete new tuple for modified row. This avoids bloat in the main heap segment." [1]

1. http://www.enterprisedb.com/postgres-plus-edb-blog/amit-kapi...

The very next sentence:

Both Oracle and SQL Server has some way to restrict the growth of version information whereas PostgreSQL/PPAS doesn't have any way.

True, this can be an issue. But the auto-vacuum and auto-cleanups should resolve this issue. Have you experienced this as an issue? Genuinely curious.

(Don't speak to me about SQL Server. Of all the brain dead ideas, implementing storage in the TempDB for snapshot isolation!)

It is cheaper than Oracle in many scenarios. Either way, Microsoft's profits and Wall St. satisfaction is driven by SQL Server sales.