为什么二进制字以BSON格式存储数据时为何将其用于BSON
A document such as { "hello": "world" } will be stored as:
Bson:
\x16\x00\x00\x00 // total document size
\x02 // 0x02 = type String
hello\x00 // field name
\x06\x00\x00\x00world\x00 // field value (size of value, value, null terminator)
\x00 // 0x00 = type EOO ('end of object')
对于这种格式,我们还需要解释器来解析并将其转换为机器指令,然后
它以什么方式压缩实际的JSON数据并进行快速解释?
答案 0 :(得分:0)
这是二进制数据类型的类比语义。 BSON二进制文件具有一个字节数组,表示一个从0到127的内部子类型。
例如:字节0000 0000 1000代表十六进制“ \ x08”,这表示BSON规范中的布尔类型。
驱动程序将采用BTF格式的UTF-8编码和解码格式,MongoDB中的WiredTiger等存储引擎将负责对BSON格式的数据进行序列化和反序列化。