On 2015-09-17 04:39, Robert Haas wrote:
>
> 1. Exchange Bushy
> 2. Exchange Inter-Operator (this is what's currently implemented)
> 3. Exchange Replicate
> 4. Exchange Merge
> 5. Interchange
>
> Or taking inspiration from Greenplum, we could go with:
>
> 1. ?
> 2. Gather
> 3. Broadcast (sorta)
> 4. Gather Merge
> 5. Redistribute
>
> Or maybe something like this:
>
> 1. Parallel Child
> 2. Parallel Gather
> 3. Parallel Replicate
> 4. Parallel Merge
> 5. Parallel Redistribute
>
> Or, yet another option, we could combine the similar operators under
> one umbrella while keeping the things that are more different as
> separate nodes:
>
> 1, 2. Exchange (or Gather or Funnel)
> 3, 5. Distribute (or Redistribute or Interchange or Exchange)
> 4. Exchange Merge (or Gather Merge or Funnel Merge)
>
> Thoughts?
>
Interesting read.
I think 1 and 2 are similar enough to be same node (Exchange sounds good
to me).
Exchange Merge for 4 also sounds good.
About 3 and 5, if I understand correctly those are similar with the main
difference being that in 3 all parents get copy of every tuple while in
5 the tuples are partitioned between the parents. Sounds reasonable to
have Redistribute/Interchange or something like that for both with some
additional info saying if tuples are being partitioned or duplicated.
In any case, let's not name any of the nodes as "Replicate".
-- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training &
Services