BSON:易于数据交换的格式
- Ken - python.cn(jobs, news)BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式. BSON基于JSON格式,选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性. BSON主要会实现以下三点目标:. 对JSON格式来说,太大的JSON结构会导致数据遍历非常慢.
一条消息数据,用 protobuf序列化后的大小是 json的10分之一, xml格式的20分之一,是 二进制序列化的10分之一,总体看来ProtoBuf的优势还是很明显的
protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,详情访问 protobuf的google官方网站
protobuf在google中是一个比较核心的基础库,作为分布式运算涉及到大量的不同业务消息的传递,如何高效简洁的表示、操作这些业务消息在 google这样的大规模应用中是至关重要的。而protobuf这样的库正好是在效率、数据大小、易用性之间取得了很好的平衡。
protobuf简单总结如下几点:
个人总结的适用protobuf的场合:
此外,还有更牛叉的 facebook的thrift,2007 年由Facebook开发,之后在2008年加到Apache计划中。是一个跨语言的轻量级RPC消息和数据交换框架,Thrift能生成的语言有: C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml,这是它的一大优点。