zoukankan      html  css  js  c++  java
  • Json刚明白,怎么又出来个Bson?

    测试圈的小伙伴们,不管学过自动化测试,还是学过性能测试,甚至是纯手工测试的,估计都对JSON不陌生了。

    造词狂热的IT圈,总是不会缺少新鲜事,也不会缺少貌合神离的CP。比如:JSON 和 BSON

    Json刚明白,怎么又出来个Bson?

     

    JSON、BSON傻傻分不清楚?看完这篇文字你就懂了!

    太长不读版

    l JSON是纯文字的,应用很广泛;

    l BSON长得很JSON,二进制JSON,目前只用于MongoDB;

    先看JSON

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于 ECMAScript,采用完全独立于编程语言的文本格式来存储和表示数据。

    一个JSON看起来差不多这样婶儿的:

    Json刚明白,怎么又出来个Bson?

     

    BSON(/ˈbiːsən/,发音同:比森)是一种计算机数据交换格式,主要被用作MongoDB数据库中的数据存储和网络传输格式。它是一种二进制表示形式,能用来表示简单数据结构、关联数组(MongoDB中称为“对象”或“文档”)以及MongoDB中的各种数据类型。BSON之名缘于JSON,含义为Binary JSON(二进制JSON)。

     

    一个BSON看起来这样婶儿的:

    Json刚明白,怎么又出来个Bson?

     

    是不是看起来很像?

    JSON自不必多言,下面科普一下BSON:

    BSON是由10gen开发的一个数据格式,目前主要用于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。大大减少了计算开销和数据大小。

    各位小伙伴,如果工作中用不到MongoDB,那么BSON知道一下就好了。

    作为一个业内混迹已久的老司机,哥奉劝大家,除了关系型数据库,还是要关心一下非关系型数据库,比如:MongoDB。

    个人见解:这已经不是技不压身的问题了,而是挣钱多少,职业生涯能延长多久的问题。

    NoSQL(非关系型数据库)的崛起,不仅仅是为了弥补关系型数据库,更是互联网复杂业务海量增长的必然。

    IT圈子,历来是“只闻新人笑,不闻旧人哭。”。技术圈子,一直是“喜新厌旧”。

    当时代大潮来的时候,选择随波逐流,还是选择侧立观望,最直接的结果很明显:未来招聘JD上的技能没有掌握,错失机会;未来业务需求技术难题不能快速解决,错失订单。

    小伙伴们,共勉!

    作  者:Arthur

    出  处:微信公众号:自动化软件测试平台

    版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

  • 相关阅读:
    txtbox取Calendar值
    【Spread Sheet 应用(一)】去掉原有功能键及添加功能键
    【SQLSERVER】存储过程基础
    【SQLSERVER】在存储过程中调用存储过程
    ASP.NET跨页面传值技巧(VB.NET篇)
    【EXCEL】IF...ELSE语句
    VB单元测试
    【VB.NET】窗体之间传值
    【Spread Sheet 应用(二)】常用属性设置
    【SQLSERCER】创建、改变、删除索引
  • 原文地址:https://www.cnblogs.com/testfan2019/p/14073617.html
Copyright © 2011-2022 走看看