Re: Oracle to Postgres training at PGConf US

  • From: Mladen Gogala <gogala.mladen@xxxxxxxxx>
  • To: "Joshua D. Drake" <jd@xxxxxxxxxxxxxxxxx>
  • Date: Fri, 21 Jul 2017 13:35:07 -0400

On Fri, 21 Jul 2017 09:01:27 -0700
"Joshua D. Drake" <jd@xxxxxxxxxxxxxxxxx> 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
--
//www.freelists.org/webpage/oracle-l


Other related posts: