Protobuf学习(1)
来源:互联网 发布:宝贝标题优化技巧 编辑:程序博客网 时间:2024/06/05 17:36
今天开始学习 Protobuf。在一篇博客里面说, Protobuf是结构化数据存储,什么是结构化数据存储呢?既然有结构化数据存储,想必也有非结构化数据存储把。
在经过一番百度后,得到如下结论)。
结构化数据存储 & 非结构化数据存储
结构化数据(二维表(关系型))
定义:即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。
举例:比如企业ERP、财务系统;医疗HIS数据库;教育一卡通;政府行政审批;其他核心数据库等。这些应用需要哪些存储方案呢?基本包括高速存储应用需求、数据备份需求、数据共享需求以及数据容灾需求。
非结构化数据
定义:不方便用数据库二维逻辑表来表现的数据即称为非结构化数据。
举例:包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等。
半结构化数据
定义:介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。
哎呀,我参考的这2篇文章写的太好了。我总结下学习 Protobuf的几个步骤。后面直接用关键字描述。
1. 什么是Protobuf?
结构化数据存储格式; 结构化数据串行化;数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。
2. Protobuf用什么作用?为什么要用Protobuf?
Google开源项目;以特定格式存储数据;人气旺;
3. Protobuf优缺点?
性能好/效率高;
时间和空间开销均优于XML存储格式;
4. 编译protobuf
在参考文章3中,使用vs2010编译protobuf很简单,只要Build Solution就可以,千万不要Rebuild Soludtion,这样会出现错误"error MSB6006: "cmd.exe" exited with code 9009."..这也无关紧要。
只有libprotobuf; libprotobuf-lite; libprotoc; lite-test; protoc; test_plugin; tests这几个库/ exe是我们需要的。
参考文章:
http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/
2. 开源点评:Protocol Buffers介绍
http://blog.csdn.net/program_think/article/details/4229773
3. Windows环境下google protobuf入门
http://www.tuicool.com/articles/AnMRJf7
- Protobuf学习(1)
- 学习 protobuf(一)—— ubuntu 下 protobuf 2.6.1 的安装
- Protobuf学习笔记(一)
- protobuf学习
- protobuf 学习
- protobuf学习
- Protobuf学习
- Protobuf学习
- Protobuf学习
- galang 学习之grpc+ protobuf(一)
- galang 学习之grpc+ protobuf(二)
- Google protobuf(1)-简介
- google protobuf 学习
- google protobuf学习
- protobuf学习笔记
- protobuf-net学习笔记
- Protobuf学习笔记
- ProtoBuf学习笔记
- iOS 开发之本地化 国际化
- Libsvm的使用
- Android:用Handler实现异步处理功能
- php配置php-fpm启动参数及配置详解
- cocos2d-x控件CCEditBox详解
- Protobuf学习(1)
- 改变UITableViewCell的imageView的大小(cell.imageView)
- Struts2_Action
- 网络编程练习-unix域套接字
- CEGUI中文显示提速
- 【整理】MySQL引擎
- NYOJ-题目(Math)--139-------------------------我排第几个
- ERROR合集(个人调试笔记)
- Oracle CLOB 字段插入时提示字符过长