Re: Postgresql 9.4 / JSONB / JDBC

Поиск
Список
Период
Сортировка
От Christopher BROWN
Тема Re: Postgresql 9.4 / JSONB / JDBC
Дата
Msg-id CAHL_zcNDU8CShN5mdyq6bput+YUPngh_HiFmaTWCCfP9GvFwiQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Postgresql 9.4 / JSONB / JDBC  (Mikko Tiihonen <Mikko.Tiihonen@nitorcreations.com>)
Ответы Re: Postgresql 9.4 / JSONB / JDBC  (Dave Cramer <pg@fastcrypt.com>)
Re: Postgresql 9.4 / JSONB / JDBC  (Hans Klett <hansk@spectralogic.com>)
Список pgsql-jdbc
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)

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.

How is "hstore" data transmitted?  Is it optimized and could JSONB "piggyback" it?

--
Christopher


On 31 December 2014 at 19:29, Mikko Tiihonen <Mikko.Tiihonen@nitorcreations.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@postgresql.org <pgsql-jdbc-owner@postgresql.org> on behalf of Dave Cramer <pg@fastcrypt.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@reflexe.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@reflexe.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



В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: Postgresql 9.4 / JSONB / JDBC
Следующее
От: Dave Cramer
Дата:
Сообщение: Re: Postgresql 9.4 / JSONB / JDBC