课程咨询 :0731-88220680

长沙Java培训 > 达内新闻 > JSON是文本的,它的效率不高?
  • JSON是文本的,它的效率不高?

    发布:长沙Java培训      来源:开源中国      时间:2016-10-31

  • JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。它容易被人们阅读和编写,也容易被软件所读取和生成。

    如果只把JSON用在应用程序中不同层级间的数据交换上,那还好。而当人们开始要将其作为一种数据库存储格式来使用时,就不好了。当我第一次遇到将JSON作为一种数据库中的数据格式时,感到非常惊奇,因为数据库要花费不少代价,每一条记录里面键和值都要存,而且每次查询都要进行处理。

    有一种说法是说JSON是文本的,所以它的效率不高。达内长沙java培训接下来要说明这个说法是错误的:

    就像我们知道的那样,即使是Web2.0时代的到来,RDBMS提供的在线业务依然是生命的关键。RDBMS运行在所有站点的后台。从人类登上月球到Jim Gray最后一次航行,业务的成本已经从$5降低到了$0.02。这是由于九十年代,在RDBMS上的巨大努力和硬件供应商为了赢得TPC基准战争所做的持续改进 。Oracle将在SUN硬件上发布,Sybase将在数量上击败HP。Informix将打败SGI,IBM将打败IBM,然后,Oracle将会回来,每家公司都会花费$25.000在WSJ的整版广告上吹嘘自己——九十年代的时候人们在报纸上阅读新闻。

    为了这一努力,数据库优化物理设计,访问路径,I/O,数据加载,事务等等。这导致了许多在硬件上的创新,如微处理器指令集应用到SMP系统设计,InfiniBand。数据库压榨每一个锁周期,每一次IO,每一个锁获取,日志优势。 在每一个瓶颈上奋力搏斗。每一个硬件供应商都试着拥有最好的TPC数。

    RDBMS十分高效。

    RDBMS有一种成本意识——空间,时间,时空,甚至一切

    与RDBMS存储格式相比,JSON效率低下。

    所有的数据都是字符形式的JSON需要转换处理。

    即使数值数据也存储在文本中。

    每个值在每个文档中都带有其键名称(键值)。需要更多的存储和处理。

    允许表示复杂的结构,导致运行时开销。

    官方支持小集数据类型。无小数,无时间戳记等。

    在数据库中使用JSON意味着:

    数据库引擎必须理解每个文档的模式并处理它们,而不是处理常规元组和属性(行和列)。

    必须解析和处理JSON中每个键值的数据类型

    JSON可能是XML的一个精减的版本,但它仍然很庞大。

    有这么多低效率的缺陷,为什么还有数据库使用JSON作为数据模型呢?或者说实现JSON数据类型呢?

    的确。JSON作为数据交换格式被发明,现在是公共API——数据集成场景的首选格式。大多数设备,大多数软件层可以以JSON的形式消费和产品数据。以JSON存储和发布数据意味着,除了下面的优点之外,API和应用程序还可以在他们熟悉的介质中与数据库交互。你必须考虑n层应用程序效率,而不是将其与元组插入和更新进行比较。大多数RDBMS现在已经将JSON添加为数据类型。随着JSON使用量的增长,存储和处理效率将会提高。

上一篇:2016年7款最佳Java框架(三)

下一篇:JSON在数据库中不要求数据结构?

最新开班日期  |  更多

Java--大数据全日制班

Java--大数据全日制班

开班日期:03/08

Java--零基础业余班

Java--零基础业余班

开班日期:03/08

Java--零基础全日制班

Java--零基础全日制班

开班日期:03/08

Java--大数据业余制班

Java--大数据业余制班

开班日期:03/8

  • 网址:http://cs.java.tedu.cn     地址:长沙市开福区芙蓉中路一段 476 号建鸿达现代城 9 楼
  • 课程培训电话:0731-88220680     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56