Live data from Hacker News

Oracle vs. PostgreSQL: First Glance

rolkotech.blogspot.com

81–90 of 201 posts

Re: Oracle vs. PostgreSQL: First Glance

#81
post #55

Oracle used to be by far and away the best database out there. Now I wouldn’t use it even if you paid me. It’s shocking how little Oracle invested in developing their products and services over the years. They are a distant second, if not merely an “also ran”, for everything that they do. The company largely exists as an experiment in just how far you can go with a vendor lock-in strategy. Sadly that experiment is pr…

They're a victim of their own success. They became a monopoly and the quality of their product stopped mattering. They're an example of Steve Job's comments on Xerox's failure[0]. It happened at Oracle, IBM, Cisco, and Microsoft. It's happening now at Apple, Intel and Google. [0]: https://youtu.be/NlBjNmXvqIM

I agree on the overall theory (dominance in a sector tends to shift internal incentives in such a way that the result is an ossified development structure), but I think Jobs' terminology is imprecise. Larry Ellison is not really a product guy first and foremost, he's the definition of a tough salesman. The "bad guys" are a more generic variety of "corporate type" who can materialize in any department, really. Typically they power themselves up the ladder with "cost efficiencies". The most recent Oracle CEOs (Hurd and Catz) fit that profile to a T.

En passant: another big name that suffered from this phenomenon was Nokia.

Re: Oracle vs. PostgreSQL: First Glance

#82
post #74

I've been at 3 separate companies where each respective CIO had "get rid of Oracle" as a strategic initiative.

Absolutely the best part of moving from Oracle to PG is never worrying about licensing ever again.

PG does 99% of what Oracle does. If you have one of the 1% cases, that will be a remarkable circumstance.

Always test a move from Oracle to PG, see how it performs.

Re: Oracle vs. PostgreSQL: First Glance

#83

Earlier quoted context omitted.

I would argue that using postgres today sets you up better for HA tomorrow, as both yugabyte and cockroachdb are built with postgresql compatability in mind. I would also argue your reputation as a competent CTO / Architect / whatever is more at risk by choosing Oracle in 2020.

> I would argue that using postgres today sets you up better for HA tomorrow The point is, if I have the money I can get enterprise grade HA today. Yugabyte and cockroach are promising but they’re small unproven organizations and as history has shown they’re likely to get bought out and then who knows. Larry Ellison is an asshole, Oracle the company itself makes me want to vomit but they are a pretty known quantity.…

> This trope started reaching fever pitch during the first wave of OSS commercialization hype/fervor in 98. It wasn’t true then and I see no evidence it is any more true today.

It is not. And I know of several major banks leaving oracle "en masse" because of licensing nightmare. The major decision makers are now endangered by their choice of oracle as a database to consider. Oracle in a new project is now a firm NO.

Regarding HA, active/passive and failover is enough for 99% of the use cases. For the rest you'd need citus or patroni, but it's totally manageable. I'd be quite dismissive of an architect who suggests oracle if there are no extreme availability requirements. I'd also prefer a galera or an innodb cluster for active/active architectures.

Let's face it: oracle database is dying an its niche is shrinking.

Re: Oracle vs. PostgreSQL: First Glance

#84

Earlier quoted context omitted.

Thanks for that link. > Historically we've always materialized the full output of a CTE query Do you know if this means that CTEs are written to disk? I didn't think this was the case. (In the case of materialized views that qualifier means the view is written to disk).

Here "materialization" just means that the query planner treats it as an optimization fence. That means the system doesn't do any optimization between the CTE and the query referencing it. It would prepare the output of the CTE as a completely separate entity essentially as if you had dumped it to a temp table. It may not be written to disk if there was sufficient memory, but either way you're sacrificing any optimiz…

A simple example would be something like predicate pushdown:

    with mycte as (
        select a, count(b) 
        from foo 
        group by a
    )
    select *
    from mycte
    where a = 10;
There is enough information in the statement to plan it as

    with mycte as (
        select a, count(b) 
        from foo 
        where a = 10;
        group by a
    )
    select *
    from mycte;
Before, Postgres would have computed the aggregate for all values of `a`.

Re: Oracle vs. PostgreSQL: First Glance

#85
post #34

Why anyone would use Oracle for anything other than supporting legacy systems is beyond me.

- A much better developer experience for stored procedures, with proper packaging, compilation to native code, graphical debugger. - RAC and distributed transactions across a database cluster - Integration with APIs - A much better experience in Java and .NET drivers, including SQL custom data types.

> compilation to native code, graphical debugger.

You have this on postgresql.

> RAC and distributed transactions across a database cluster

Needed only in telcos where galera would be enough

Re: Oracle vs. PostgreSQL: First Glance

#86
post #59

Earlier quoted context omitted.

It's very true today. The problem discussed here is performance on complex queries (e.g. subqueries), and the query planner plays a huge role in that. The Postgres query planner has various issues. Here are two recent posts talking about planner issues: https://medium.com/@rbranson/10-things-i-hate-about-postgres... https://www.cybertec-postgresql.com/en/things-could-be-impro... Also JIT compilation, while very nice…

For someone not following closely, What are the reasons behind the lack of work on JIT since then?

> The problem discussed here is performance on complex queries

This is the problem. In my experience, these complex queries exist because of either unnecessary super normalized schema or one schema to fit them all.

Nowadays storage is so cheap that you can safely de-normalize the schema and have tables that fit your query model.

If you have very complex queries chances are that you must take a closer look at your application design.

Re: Oracle vs. PostgreSQL: First Glance

#87
post #74

I've been at 3 separate companies where each respective CIO had "get rid of Oracle" as a strategic initiative.

It mirrors my (anecdotal) experience in the last 2 companies that were dependent on it too.

With that said... Makes me wonder how many (if any) companies are moving opposite direction that Oracle survives and doing so nicely.

Re: Oracle vs. PostgreSQL: First Glance

#88
post #85
post #34

Earlier quoted context omitted.

- A much better developer experience for stored procedures, with proper packaging, compilation to native code, graphical debugger. - RAC and distributed transactions across a database cluster - Integration with APIs - A much better experience in Java and .NET drivers, including SQL custom data types.

> compilation to native code, graphical debugger. You have this on postgresql. > RAC and distributed transactions across a database cluster Needed only in telcos where galera would be enough

So where is the graphical debugging support and how do I single step a stored procedure?

I have used distributed transactions at life sciences.

Re: Oracle vs. PostgreSQL: First Glance

#90

Earlier quoted context omitted.

I've spent a fair amount of time at the Sofitel in Redwood Shores, and I'd often chat with Oracle "sales engineers" at the bar. A simple "so, what do you work on" question would inevitably generate an hour's worth of them explaining some convoluted acronym-heavy product with a pushy sales model, and I'd eventually be like "ok... so it's a database?".

To be fair to Oracle (not something I say very often) - I suspect most of their sales are business applications (ERP, CRM, financial) that happen to use their database engine as a back end.

[deleted]
Post reply on HN