简介
BSON 是 BinaryJSON 的简写,是一种类似 JSON 的二进制编码存储格式,BSON 支持内嵌文档和数组的功能。BSON 除了支持 JSON 的数据类型以外,还扩展提供一些其他的数据类型。比如说,BSON 包含 Date 类型 和 BinData 类型。
BSON 常用做网络数据交换的存储格式,类似 Protocol Buffers(BSON can be compared to binary interchange formatsto binary interchange formats,like Protocol Buffers)。相比 Protocol Buffers 而言 ,BSON 是无模式的(schema-less),这一特性带来了较高的“灵活性”(flexibility),但同时也略降低了(a slight disadvantage in)它 的空间利用效率(因为BSON 在存储字段名时会有一定的开销)。
BSON用三个重要的特性:轻量(Lightweight)、可遍历(traversable)、高效性(effcient)。保持较低的空间开销对任何数据的存储都是十分重要的,尤其是用于网络传输;BSON不像JSON一样难以遍历,在JSON中要跳过一个文档进行数据读取,需要对此文档进行扫描,需要麻烦的数据结构匹配,而 BSON 将每一个元素的基本信息存储在元素的头部,这样只需要读取元素长度就可以直接seek到指定的点上进行读取了(这也是为什么造成 BSON 使用的空间效率略低的原因)。也是基于此 BSON 的编码与解码速度很快。
网友评论