PostgreSQL Parallel Query v2
rhaas.blogspot.com
rhaas.blogspot.com
Parallel index scans will be an absolutely massive win for us. Currently Postgres does not perform any sort of prefetching. When performing an index scan, this results in serialized random I/O. In our case, queries wind up using ~1/10th the I/O they could be using if there were to do more I/O in parallel. We are expecting a dramatic speedup just from parallel index scans. This is in addition to the bugfix in 9.6 (we're currently on 9.5) which added proper support for index only scans over partial indexes. That bugfix should also result in a pretty large speedup for a lot of our queries.
As soon as Postgres 10 comes out, we are immediately going to upgrade. There are just so many huge wins for us.
[0] https://www.postgresql.org/message-id/20161206034955.bh33pae...
[1] https://blog.heapanalytics.com/running-10-million-postgresql...
Re prefetching: PG does that for bitmap index scans, if you enable effective_io_concurrency > 1.
Additionally, at a later stage, caching of compiled programs will play a role, to reduce the frequency of llvm invocation.
But you are absolutely correct that for long running analytic queries, the up front cost of generating optimized code pays off.
Why? What is Oracle doing so wrong that they cant sleep as well at night?
Oracle Q4 FY2016 profit: $2B
7 years to make what Oracle makes in a quarter.
I don't really have a dog in this fight but just FYI I think you missed ops point.
Some tradeoffs since the products are usually not as good and move slower than proprietary commercial offerings but the free access and large communities make up for it.
This is really getting Postgres up to par with the commercial offerings, and hopefully it keeps progressing for v11.
It's especially important now since servers with more and more cores are becoming the norm.