Re: Postgresql 9.4 / JSONB / JDBC

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Christopher BROWN <brown(at)reflexe(dot)fr>
Cc: Mikko Tiihonen <Mikko(dot)Tiihonen(at)nitorcreations(dot)com>, List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Postgresql 9.4 / JSONB / JDBC
Date: 2014-12-31 21:55:34
Message-ID: CADK3HHJjOC67VVDo3UoMPYZKc13369HbbB-0=VgMOELLJdyXTQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On 31 December 2014 at 16:18, Christopher BROWN <brown(at)reflexe(dot)fr> wrote:

> Unless there is a requirement to devise a new solution, in the absence of
> any formal standard, I am aware of two similar specifications:
>
> - http://bsonspec.org/ (for MongoDB)
> - http://wiki.fasterxml.com/SmileFormatSpec (for Jackson JSON)
>
> I've used and continue to use the latter and it works well for me.
>
> Does the PostgreSQL client/server protocol allow for protocol upgrades, in
> a similar way to what HTTP defines for SPDY or websockets? That might
> address Mikko's remarks about backward compatibility.
>

No, unfortunately not. And we have no control over it anyways.

>
> How is "hstore" data transmitted? Is it optimized and could JSONB
> "piggyback" it?
>
> no clue.

> --
> Christopher
>
>
> On 31 December 2014 at 19:29, Mikko Tiihonen <
> Mikko(dot)Tiihonen(at)nitorcreations(dot)com> wrote:
>
>> Last time I checked (few months ago), the postgresql jsonb binary
>> format was just a extra 4 byte version header followed by text json data.
>> So basically the binary jsonb format was slower than text format. And since
>> there is no official plan on how to modify the binary formats without
>> breaking backwards compatibility it most likely will stay that way.
>>
>>
>> Having a proper binary encoding for jsonb would speed up parsing on
>> both server and client side.
>>
>>
>> -Mikko
>> ------------------------------
>> *From:* pgsql-jdbc-owner(at)postgresql(dot)org <pgsql-jdbc-owner(at)postgresql(dot)org>
>> on behalf of Dave Cramer <pg(at)fastcrypt(dot)com>
>> *Sent:* 29 December 2014 13:42
>> *To:* Christopher BROWN
>> *Cc:* List
>> *Subject:* Re: [JDBC] Postgresql 9.4 / JSONB / JDBC
>>
>> Yes, we can pull the data from the server in binary. After that though
>> we have to convert it to text
>>
>> Dave Cramer
>>
>> dave.cramer(at)credativ(dot)ca
>> http://www.credativ.ca
>>
>> On 29 December 2014 at 05:08, Christopher BROWN <brown(at)reflexe(dot)fr> wrote:
>>
>>> Hello,
>>>
>>> Regarding my previous messages on this subject (JSONB support in the
>>> Postgresql JDBC driver), one assumption I'm making is that the driver might
>>> be able to stream the JSON data more efficiently that just throwing a chunk
>>> of text onto the wire... as text isn't the most efficient way of encoding
>>> numbers, booleans, and nulls.
>>>
>>> How does the native network protocol of Postgresql actually transfer
>>> such data? Is there an opportunity for sending the data efficiently?
>>> Personally for some of my applications, I'm able to use Jackson's "Smile"
>>> binary JSON format, although I doubt that the Postgresql server would
>>> understand it or want to implement it (I don't know if it could be
>>> considered a standard, even if it's specified --
>>> http://wiki.fasterxml.com/SmileFormatSpec)
>>>
>>> --
>>> Christopher
>>>
>>>
>>> On 20 December 2014 at 10:44, Christopher BROWN <brown(at)reflexe(dot)fr>
>>> wrote:
>>>
>>>> Hello,
>>>>
>>>> I'm new to this list, and have tried searching both the mailing list
>>>> archives, and internet in general, for information on how to use the new
>>>> JSONB data type with JDBC. Found almost nothing in the mailing list
>>>> archives, and internet searches "helpfully" assume I've misspelled "json"
>>>> and give me results that are unrelated or refer to the basic "JSON" type
>>>> from older Postgresql versions.
>>>>
>>>> How can this type be used, with simple "flat" key-value collections
>>>> (maps), with tree-like maps-of-maps, and (ideally) with JSON APIs such as
>>>> Jackson JSON API?
>>>>
>>>> Is it possible? Is it already described somewhere that I missed?
>>>>
>>>> Thanks,
>>>> Christopher
>>>>
>>>
>>>
>>
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Hans Klett 2014-12-31 23:11:49 Re: Postgresql 9.4 / JSONB / JDBC
Previous Message Christopher BROWN 2014-12-31 21:18:09 Re: Postgresql 9.4 / JSONB / JDBC