Binary JSON format on-disk or in-memory

I am working on a research project comparing several document-oriented databases.

MongoDB has BSON, ArangoDB has VelocyPack, Postgresql has Jsonb,…

Does Couchbase also have its own binary format to work with JSON documents, on disk or in memory?

Data is typically stored as plain JSON, though binary documents can also be stored (though not manipulated). This is noted here:
and in more detail here:


@dh When Couchbase stores a JSON document, does it store the JSON text (possibly Snappy-compressed), or does it use some other binary JSON format internally?

I think that’s the thrust of the question, judging from the related discussion on StackOverflow.

@jwalker may be better placed to confirm the internals. AFAIK, it does depend on the bucket type, with Couchbase buckets being implemented with GitHub - couchbase/couchstore: couchbase storage file library

Certainly when couchstore is the storage, a document is just compressed using snappy, no other “re-formatting” occurs. So if a JSON document is written, it is just that JSON document stored after being snappy compressed, if a binary value is written, it is just that binary value stored after being snappy compressed.