The sticker price of the Oracle licence for this would be about $400k a year.
It’s just a complete non-starter for most companies.
This was an Ivy League university with an endowment in the tens of billions.
I was working with an even worse Oracle product (Hyperion) which had a convoluted homegrown script restarting all of the services on a number of servers to work around their inability to reliably handle database connection failures lasting more than a short interval. Before do that, they’d tried to get rid of the backup window but were told that wasn’t possible unless they could come up with a large amount of money for the license.
Oracle can't roll back these (create table/drop index etc)? That really surprises me. Pretty certain MSSQL can, because I've used it. Amazed, actually, that oracle can't.
BEGIN;
DROP TABLE foo;
CREATE TABLE bar (t int);
ROLLBACK;
...and it will just work as you expect. Oracle doesn't, nor does MSSQL.As far as I know, other than Postgres, only Sybase ASE, Informix, DB2 UDB, and Firebird support transaction DDL.
Postgres, SQL Server, Firebird, DB2, SQLite, Ingres, Informix, Teradata, Vertica all support transactional DDL
Postgres gets it right. DDL is contained in the transacrion until commit.
It isn't always about affording it, it's about risk reduction, or the perception thereof:
Every single time the company I work for has to renew a license, it has to once again initiate the long, painful process of finding its ass with both hands. "Why are we paying for this? Who exactly is using it? Why are they using it? How much will this cost? Can we make it cost less? Given that it's impossible for us to negotiate this cost, how can we make the company we're licensing it from not charge us as much money as it's inevitably going to? When is this license due? Why hasn't IT, which has no purchasing authority, fixed this yet?"
With Postgres and CentOS and other OSS, none of that happens. The C-levels never know, so they never get a chance to do their headless-chicken dance routine. Much more relaxing.
- Why are you worried about license fees as a developer? :-) Seriously speaking, start with Oracle SE2. It is so cheap, I would use it everywhere. And if you need those "partitioning", "parallel execution" etc - your business is Enterprise, and you can afford such price tags. (I know, there will be a sh1tst0rm now, but please think about what IO said from business POV)
- Oracle Public Cloud gives you database extremely fast - and you will never have issues with license audit
- The name of "Rollback of DDLs" is "no developer access to production" and "UAT" :-)
- hmmm... $> rman rman> connect target rman> backup database plus archivelog delete input; rman> exit
What can be easier?
Are you a huge fan of Vacuuming, XID Freezing, WAL optimisations etc. etc.?
The MVCC in Postgress, in my view (!) is joke from academia, where they had not a single DBA :-)
> Why are you worried about license fees as a developer?
Lots of developers are involved to some extent in financial decisions. And in any case, I'd be worried about losing my job because Oracle had bankrupted my employer..
> Seriously speaking, start with Oracle SE2. It is so cheap
Postgres is free, and open source too.
> Oracle Public Cloud gives you database extremely fast
It's extremely unlikely that devs will want to host a database in Oracle's cloud, and everything else in AWS/Azure/GCP.
> and you will never have issues with license audit
The very fact you felt the need to throw that in is exactly why people hate Oracle so much - they are absolutely infamous for screwing customers out of every cent.
> The name of "Rollback of DDLs" is "no developer access to production" and "UAT"
As others have said, it's useful for testing changes in pre-prod environments - so you can make sure stuff works before it gets to prod.
> Are you a huge fan of Vacuuming, XID Freezing, WAL optimisations etc. etc.?
This makes no sense; vacuum is automatic, and why would you not want knobs to tweak settings to your workload? Oracle has plenty, so I don't get your beef here.
> The MVCC in Postgress, in my view (!) is joke from academia, where they had not a single DBA
I've never heard a single sole claim such a thing - do you have any sources?
- No license fees is huge. My company saves tens of thousands on license fees when we can't really afford it.
- The ability to set up environments super quickly is amazing.
- Rollback of DDLs is huge for testing migrations
- The backup features aren't broken by default. I've spent hours researching how to back up an oracle db and transfer it to another. And at that point versions matter. With postures I think I spent 30 minutes total figuring it out over the years.
Overall I am a huge fan of Postgres having used it for about half of my career and oracle for the other half. I genuinely hope I never use oracle again.