美文网首页
json与bson的区别

json与bson的区别

作者: _paper | 来源:发表于2019-10-13 11:46 被阅读0次

bson

bson是由10gen开发的一个数据格式,目前主要用于mongoDB中,是mongoDB的数据存储格式,bson基于json格式

bson主要会实现以下三点目标:

  1. 更快的遍历速度
    bsonjson的一大改进就是,它会将json的每一个元素的长度放在元素的头部,这样你只需要读取到元素长度就能直接seek到指定的点上进行读取了。
  2. 操作更简易
    json来说,数据存储是无类型的,比如你要修改基本一个值,从9到10,由于从一个字符变成了两个,所以可能其后面的所有内容都需要往后移一位才可以。
    而使用bson,你可以指定这个列为数字列,那么无论数字从9长到10还是100,我们都只是在存储数字的那一位上进行修改,不会导致数据总长变大。
    当然,在mongoDB中,如果数字从整形增大到长整型,还是会导致数据总长变大的。
  3. 增加了额外的数据类型
    bson在其基础上增加了byte array数据类型。这使得二进制的存储不再需要先base64转换后再存成json,大大减少了计算开销和数据大小。
    当然,在有的时候,bson相对json来说也并没有空间上的优势,比如对 {“field”:7},在json的存储上7只使用了1个字节,而如果用bson,那就是至少4个字节 (32位)

综上所述:

  • 数据结构:
    json是像字符串一样存储的,bson按结构存储的(像数组 或者说struct)
  • 存储空间:
    bson > json
  • 操作速度:
    bson > json
    (比如,遍历查找:json需要扫字符串,而bson可以直接定位)
  • 修改:
    json也要大动大移,bson就不需要。

json与bson的区别

相关文章

  • json与bson的区别

    bson bson是由10gen开发的一个数据格式,目前主要用于mongoDB中,是mongoDB的数据存储格式,...

  • BSON与JSON的区别

    BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式。BSON基...

  • Mongodb——1

    BSON BSON是一种类似JSON的二进制形式的存储格式,简称Binary JSON。它和JSON一样,支持内嵌...

  • Bson类似于Protocol Buffer的数据形式,比jso

    一、Bson介绍 BSON是Binary JSON的缩写,是一种类json的一种二进制形式的存储格式。它和JSON...

  • Mongodb高级篇-BSON & Aggregatio

    1、BSON BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支...

  • MongoDB全入门——开发者认证考试准备

    基础 1. Bson BSon是MongoDB的基本数据储存格式。二进制的Json数据,同Json一样,支持将文档...

  • 6 MongoDB文档操作

    存储在集合中的数据为BSON格式,BSON(Binary JSON)是一种类似于JSON的二进制形式的存储格式 插...

  • BSON 和 JSON

    更快的遍历速度 对JSON格式来说,太大的JSON结构会导致数据遍历非常慢。在JSON中,要跳过一个文档进行数据读...

  • BSON Types

    简介 BSON 是 BinaryJSON 的简写,是一种类似 JSON 的二进制编码存储格式,BSON 支...

  • MongoDB数据类型

    MongoDB通过BSON(Binary JSON)来描述和存放数据。BSON是一种可进行二进制序列化的,类JSO...

网友评论

      本文标题:json与bson的区别

      本文链接:https://www.haomeiwen.com/subject/awphmctx.html