Re: Oracle to Postgres training at PGConf US

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Fri, 21 Jul 2017 13:35:07 -0400
Message-ID: <20170721133507.6c204935.gogala.mladen_at_gmail.com>


On Fri, 21 Jul 2017 09:01:27 -0700
"Joshua D. Drake" <jd_at_commandprompt.com> wrote:

> On 07/11/2017 10:50 AM, Mladen Gogala wrote:
> > A long time ago, in 2010, I've had the same type of meeting at the company that I was working for at the time.
> >
>
> [snip]
>
> I appreciate that you are not a fan of Postgres but the reality is,
> people are moving from Oracle to Postgres in droves and for good reason.

Being a consultant, I simply don't see those "droves". Many people are moving away from Oracle because of its prohibitive prices, but they are moving mostly to the other commercial databases.Quite frankly, I've seen many more MariaDB installations than Postgres installations. I suspect that if the aforementioned "droves" were put in numbers, that those numbers would be less than impressive.

> Postgres as a whole is awesome. Is it perfect? No. Does it fund an
> owners private island? No. Does it break into your company, go through
> your laundry and fine you for underwear you didn't declare? No.

Curious thing about the laundry. I have helped people get off Oracle, but mostly to SAP Hana, DB2 and SQL Server. None of the commercial DB vendors has ever inquired about my laundry and I don't expect them to do so anytime soon.

>
> > So, the official stance toward hints is that hints are bad and "we don't want them".
>
> Correct because hints are bad. Hints are a solution to bugs in the
> planner. We don't want them. We want to fix the planner. An no, we
> aren't perfect there either.

We've been through that before. When there is an application problem, I want to fix it now, not await for a planner fix. Also, I consider myself smarter than any program, including the Postgres planner. If I think that a plan is bad, I want an option to override the planner. Telling me that the planner is smarter than me is a rude thing which will not go down well. Fortunately, this discussion is a moot point, hints for Postgres are available and are here to stay. The problem is in the attitude of the developers, which stubbornly reject the user's request, which has been repeated numerous times. Hints are available despite the will of the Postgres developers, not because of that.

>
> > Hints are there, available for the most of the major versions in use today. Furthermore, partitioning is still a joke.
>
> Partitioning works just fine it just isn't "out of the box" which is a
> problem that is initially being address in v10. I imagine it will be v12
> before the new version is "where we want to be" but hey, we don't have
> *BILLIONS* funding a private island for development.

No global indexes doesn't mean that "partitioning works just fine". That means that partitioning is sorely lacking some basic features. As for the island, islands are not all that they are purported to be, trust me. I live on one. It's called "Long Island" and it is in the estuary of the Hudson River, right next to several other, smaller islands.

>
> > No global indexes, optimizer still unable to correctly calculate plan for the partitioned tables.
>
> Correct no global indexes, incorrect (depending on what you mean) about
> the optimizer still unable to correctly calculate a plan for partitioned
> tables.

Optimizer is unable to do partition pruning if a bind variable is used. Partition pruning is done at the parse phase. That means that, if a bind variable is used, the planner will search all of the partitions. In some versions, indexes will not be used.

>
> > Parallelism is implemented in PgSQL 9.6, parallel > query is available. However, partitioning and the developer community attitudes are still a problem.
>
> Without addressing exactly what "developer community attitudes" are a
> problem, I can't address this.

I thought I was abundantly clear, but apparently, I wasn't. The rejection of features like hints, which have been requested many times, on the ground that "hints are bad" and telling users that the planner is smarter than them, are both attitude problems. If I were a user who would consider using Postgres for commercial applications, I would really like to know that there is a good chance for me to get a feature if I lobby for it. With such an opinionated community, which simply says "hints are bad", despite may requests, that is not at all guaranteed. My advice to anyone who asks me is still to give Postgres a wide berth. Your reply has just reinforced the ideas that I've already had.

>
> > I would be vewy, vewy caweful with transitioning from Oracle to an open source DB.
>
> You should be very careful transitioning from Oracle to *ANY* database.
> Postgres isn't a silver bullet but it can easily cover 80% of the Oracle
> problem.
>
> > My primary candidate for such a transition would still be MariaDB,
>
> Which has its own slew of huge problems.
>
> > which has > in-memory option
>
> Which is great if you want to lose your data. We have unlogged tables
> which achieves a similar thing.
>
> >and can optionally use Cassandra as the storage engine
>
> I didn't know that MariaDB/Cassandra could do that. That's awesome.
>
> >. I am no longer a DBA, but I would still advise against transitioning to PostgreSQL.
>
> As is your right. Plenty of people disagree with you otherwise we
> wouldn't be growing as fast as we are.
>
> > It's still not good enough, when compared to the other open source databases
>
> It all depends on your needs but Postgres solves problems every day
> happily, is better licensed (than maria/my) and the developer community
> is top notch.
>
> > and the developer community is > still hostile toward the user feature requests.
>
> That isn't true at all. We welcome all requests. However, you do need to
> prove the usefulness of the request.

Which is downright impossible, as I've experienced with the hints. Users are not here because of the developers, it's the other way round. If a feature has been requested many times, as hints have been requested, than shutting the people down, with insults, is not something that would motivate me to use Postgres. Actually, in my case, exactly the opposite has happened. I turned away from Postgres to SQL Server. Which does have hints and whose developers do not write funny pieces like this one:

http://it.toolbox.com/blogs/database-soup/why-postgresql-doesnt-have-query-hints-44121?rss=1

>
> > If something that you need is missing from PgSQL, the chances of getting it are slim at best.
>
> That is true of any mature, well maintained and stable software project.

In my experience, this is patently untrue. I happen to work for a software vendor who is selling well maintained and stable software. People do ask for features and do get them.

> We aren't just going to light a match next to the gasoline. You have to
> prove you have a way to put the fire out.

What does gasoline have to do with asking for features?

>
> I hope that everyone enjoyed your rant. I certainly did. Meanwhile,
> PGConf US Seattle is selling at record pace and we would love to see a
> lot of Oracle people there! We want to help you where you think Postgres
> could fit.
>
> Have a great weekend!

You too.

>
> JD
>
>

-- 
Mladen Gogala
Oracle DBA
Tel: (347) 321-1217
--
http://www.freelists.org/webpage/oracle-l
Received on Fri Jul 21 2017 - 19:35:07 CEST

Original text of this message