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