From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | Maciej Gajewski <maciej(dot)gajewski0(at)gmail(dot)com>, Greg Stark <stark(at)mit(dot)edu> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: additional json functionality |
Date: | 2013-11-21 18:27:19 |
Message-ID: | 528E5087.2030803@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Maciej,
Thanks for feedback -- it's helpful to get a different perspective on this.
> I used to work on a project storing large quantities of schema-less data,
> initially using MongoDB, then Postgres with JSON, and eventually I
> implemented BSON support for Postgres to get the best of both worlds:
> https://github.com/maciekgajewski/postgresbson
Huh, is that linked anywhere else?
>
> I don't think that JSONB is a good idea. There is a lot to learn from
> MongoDB's mistakes in this area.
>
> 1. As noted in this thread previously, JSON is a serialization format, not
> a document format.
The momentum of the industry would argue against you.
> 5. 1. and 3. are mutually exclusive. the this is one of the most valuable
> takeaways I have from working with Mongo and BSON in particular. BSON is an
> attempt to create 'binary JSON', and a failed one.
BSON was also developed part-time, by an inexperienced developer, as a
side effect of a different project. And they froze the API to early.
And they only made a halfhearted effort to be compatible with JSON.
So the fact that BSON is a failure doesn't tell us any more than "don't
do this in a half-assed way".
> 7. It seems to me that JSONB is going to repeat all the mistakes of BSON,
> it's going to be 'neither'. If there is an agreement that Postgres needs a
> 'document' format, why not acknowledge 5., and simply adopt one of the
> existing formats. Or even better: adopt none, provide many, provide binary
> send/recv and conversion to and from JSON, let the user choose.
Well, I think others have already documented why we don't want BSON.
> The world is full of self-describing binary formats: BSON, MessagePack (
> http://msgpack.org/) protobuf, hierarchical H-Store is coming along.
> Adding another one would create confusion, and a situation similar to this:
> http://xkcd.com/927/
Apparently you missed that JSONB is just Hstore2 with different in/out
functions?
> Postgres' greatest and most under-advertised feature is it's extensibility.
I agree that we don't do enough to promote our extensions.
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com
From | Date | Subject | |
---|---|---|---|
Next Message | AK | 2013-11-21 18:28:33 | Why is UPDATE with column-list syntax not implemented |
Previous Message | J Smith | 2013-11-21 18:01:13 | Re: Data corruption issues using streaming replication on 9.0.14/9.2.5/9.3.1 |