mongodb 为什么使用BSON 而不使用JSON

知道为什么天妒英才吗? 因为没人去管笨蛋活了多久。

 

BSON(Binary JSON)的简写

 

原因:

1、存储效率:BSON是JSON的二进制表示形式,它可以更高效地存储和传输数据。在BSON中,数据的长度和类型信息被明确地存储,这有助于更快地遍历数据并跳过不需要的文档。相比之下,JSON是一种文本格式,需要更多的空间来存储相同的数据,并且在遍历和解析时可能效率较低。

2、数据类型支持:BSON在JSON的基础上增加了很多额外的数据类型,如“byte array”数据类型,这使得二进制的存储不再需要先进行base64转换再存为JSON,减少了计算开销。BSON支持的数据类型包括字符串、数字、布尔值、数组、日期等,以及可以表示更复杂的数据结构,如嵌套的对象和数组。

3、操作简易性:在BSON中,如果修改一个值(如将数字9修改为10),并且这个值的数据类型没有改变(仍然是整型),那么数据的总长不会变化。这种操作在JSON中可能会导致后续的所有内容都向后移一位,因为文本格式的修改可能会改变数据的长度。

4、扩展性:BSON的二进制表示形式允许在不影响现有数据的情况下添加新的字段或数据类型,这为MongoDB的未来发展提供了更大的灵活性。

posted @ 2022-11-15 09:09  方达达  阅读(11)  评论(0编辑  收藏  举报