Re: Proposal: http2 wire format - Mailing list pgsql-hackers

From Alvaro Hernandez
Subject Re: Proposal: http2 wire format
Date
Msg-id a0478da0-7738-ce5a-93c7-e246013636e8@ongres.com
Whole thread Raw
In response to Re: Proposal: http2 wire format  (Damir Simunic <damir.simunic@wa-research.ch>)
List pgsql-hackers


On 26/03/18 21:57, Damir Simunic wrote:

On 26 Mar 2018, at 15:42, Alvaro Hernandez <aht@ongres.com> wrote:



On 26/03/18 13:11, Damir Simunic wrote:
On 26 Mar 2018, at 11:13, Vladimir Sitnikov <sitnikov.vladimir@gmail.com> wrote:

Damir> * What are the criteria for getting this into the core?
Craig>Mine would be: 

+1



This is a great addition to the list, thanks!

Damir


    Hi Damir.

    I'm interested in the idea. However, way before writing a PoC, IMVHO I'd rather write a detailed document including:

- A brief summary of the main features of HTTP2 and why it might be a good fit for PG (of course there's a lot of doc in the wild about HTTP/2, so just a summary of the main relevant features and an analysis of how it may fit Postgres).

- A more or less thorough description of how every feature in current PostgreSQL protocol would be implemented on HTTP/2.

- Similar to the above, but applied to the v4 TODO feature list.

- A section for connection poolers, as  an auth, as these are very important topics.


    Hope this helps,

    Álvaro
   

Álvaro, it does help, thanks. This discussion is to inform such a document. But the topic is such that having a good PoC will move the discussion further much faster.

    I don't particularly agree with this. A PoC for a significant undertaking like this is a) time and effort consuming and b) will need to take clear directions that may be completely wrong later. A matter as important as this requires design, and coding without it seems to be wrong direction in my opinion. I'm a bit skeptical about HTTP/2 being a good idea here, but I'm more than in to study it in detail if I'm enlightened about it and the proposed advantages. As you may have seen I contributed one of the "brain dumps" at https://github.com/pgjdbc/pgjdbc/blob/master/backend_protocol_v4_wanted_features.md So I'm on the side of looking at new versions/protocols. But a PoC will not help here at all, a design document will :)


Can you help with thinking about how would HTTP2 impact connection poolers, I don’t know much about those?

    For one, authentication. It needs to be possible to authenticate when there is a "man in the middle", which is far from trivial. Also extra round trips may not be acceptable. There are challenges in session management, user management, whether to add balancing and failover here... If a new protocol is to be designed, I'd like to think about these problems -even if not solve them all-.


    Álvaro

-- 

Alvaro Hernandez


-----------
OnGres

pgsql-hackers by date:

Previous
From: Claudio Freire
Date:
Subject: Re: Index scan prefetch?
Next
From: Tom Lane
Date:
Subject: Re: Parallel Aggregates for string_agg and array_agg