深圳市住房和建设局领导,seo做多个网站,公司网站域名注册费用,网站建设珠海 新盈科技BSON目前主要用于MongoDB中#xff0c;是mongoDB的数据存储格式#xff0c;BSON基于JSON格式#xff0c;选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性。 BSON主要实现下面三点#xff1a; 1、更快的遍历速度 对json格式来说#xff0c;太大的json结… BSON目前主要用于MongoDB中是mongoDB的数据存储格式BSON基于JSON格式选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性。 BSON主要实现下面三点 1、更快的遍历速度 对json格式来说太大的json结构会导致数据遍历非常慢。在json中要跳过一个文档进行数据读取需要对此文档进行扫描才行需要进行麻烦的数据结构匹配比如括号的匹配。 而bson对json的一大改进就是它会将json的每一个元素的长度存在元素的头部这样你只需要读取到元素长度就能直接seek到指定的点上进行读取了。 2、操作更简易 对json来说数据存储是无类型的比如你要修改基本一个值从9到10由于从一个字符变成了两个所以可能其后面的所有内容都需要往后移一位才可以。 而使用bson你可以指定这个列为数字列那么无论数字从9长到10还是100我们都只是在存储数字的那一位上进行修改不会导致数据总长变大。 当然在mongoDB中如果数字从整形增大到长整型还是会导致数据总长变大的。 3、增加了额外的数据类型 json是一个很方便的数据交换格式但是其类型比较有限。 bson在其基础上增加了“byte array”数据类型。这使得二进制的存储不再需要先base64转换后再存成json大大减少了计算开销和数据大小。 综上所述 数据结构上json是按字符串存储bson是按结构存储。 存储空间上 bsonjson 操作速度上 bsonjson。比如遍历查找json需要扫字符串而bson可以直接利用预先在字符串前面的字符串长度直接定位。 修改上json要因为字符串长度的改变而大动大移bson的话因为是按结构存储因此还是占用同样的存储空间不需要移动。转载于:https://www.cnblogs.com/zsk-1996/p/8639237.html