数据存储:大数据存储系统(3)--- Document Store


Document Store


一、数据模型
1、 JSON:JavaScript Object Notation
JSON是一个低成本的数据交换格式;是JavaScript程序语言标准(1993年)的子集。JSON对应于程序语言中的结构与数组。
(1)JSON格式定义
Value:基础类型、Object、Array
Object:{“key1”:value1,……,”keyn”:valuen}
Array:[value1, ……, valuen]
JSON的数据类型定义是完全动态的,一个JSON记录本身自定义了自己的类型,不需要事先声明schema



2、Google Protocol Buffers

Google推出,最初用于实现网络协议,所以叫protocol buffers。可以用于表达程序设计语言中的结构和数组。要求先定义类型,然后才可以表达数据。








3、JSON vs. Google Protocol Buffers

(1)相同点
都可以表达程序设计语言中的结构和数组。
嵌套:JSON object,PB message/group
数组:JSON array,PB repeated
(2)不同点
PB要求事先声明,JSON不需要。



二、Document Store:MongoDB
1、基本概念
Document Store:JSON是基本数据类型,存储为BSON二进制表示。
基于C++实现。
名词: Database(关系型中的数据库概念)、Collection(关系型中的table概念)、Document(关系型中的记录概念)
一个database包含多个collections,每个collection包含多个documents。document<16MB。
2、MongoDB
安装完成后有3个可执行程序:
mongod:the database process
mongos:sharding controller
mongo:the database shell(uses interactive javascript)
3、MongoDB vs. SQL

SQL的简单功能在MongoDB中都有对应的功能。





不支持Join ,相互关联的数据可以放在一个document中。
可以定义Index。
4、Architecture

 

猜你喜欢

转载自blog.csdn.net/qq_40981790/article/details/80674674