"BSON [bee · sahn], short for Binary JSON, is a binary-encoded serialization of JSON-like documents. Like JSON, BSON supports the embedding of documents and arrays within other documents and arrays. BSON also contains extensions that allow representation of data types that are not part of the JSON spec. For example, BSON has a Date type and a BinData type.
BSON can be compared to binary interchange formats, like Protocol Buffers. BSON is more "schema-less" than Protocol Buffers, which can give it an advantage in flexibility but also a slight disadvantage in space efficiency (BSON has overhead for field names within the serialized data)."
{ Names in JSON format are repeated frequently, why not just keep them as pointers,
since the format is binary anyway? A bit more complexity for potentially more efficient storage. }
bsonspec.org/spec.html
James Newton-King - Json.NET 3.5 Release 6 – Binary JSON (BSON) support
c# - Protocol Buffers versus JSON or BSON - Stack Overflow
Comparison of data serialization formats - Wikipedia, the free encyclopedia
An overview of serialization formats. Numbers and anecdotes. | Daniel Lobato
Comparing Protobuf, JSON, BSON, XML with .NET for File streams | Software Engineering
{ Given that (Google's default data format) ProtoBuf is significantly more efficient,
it is a bit strange there are no popular databases based on this, like MongoDB based on BSON }
(Google's) F1: A Distributed SQL Database That Scales
(Facebook created) Apache Thrift - Home
Protocol Buffers - Wikipedia, the free encyclopedia
google/protobuf @ GitHub
protobuf-csharp-port - Google's Protocol Buffers project, ported to C# - Google Project Hosting
protobuf-net - Fast, portable, binary serialization for .NET - Google Project Hosting
Cap'n Proto: Introduction
"Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or thinkProtocol Buffers, except faster. In fact, in benchmarks, Cap’n Proto is INFINITY TIMES faster than Protocol Buffers."
"Cap’n Proto gets a perfect score because there is no encoding/decoding step."
Code, code and more code.: Efficiency: the work you don’t do…
Marc Gravell, porting Cap'n Proto to C#
"this format works both on disk and for live interactive objects, so the disk format is exactly the in-memory format. Zero processing."
Performance Test – BinaryFormatter vs Protobuf-Net | theburningmonk.com
Encoding - Protocol Buffers — Google Developers