01 mongodb 的特点

mongoDB 介绍(特点、优点、原理) 介绍:MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 特点:高性能、易部署、易使用,存储数据非常方便。 主要功能特性有: Ø 面向集合存储,易存储对象类型的数据 Ø 模式自由 Ø 支持动态查询 Ø 支持完全索引,包含内部对象 Ø 支持查询 Ø 支持复制和故障恢复 Ø 使用高效的二进制数据存储,包括大型对象(如视频等) Ø 自动处理碎片,以支持云计算层次的扩展性 Ø 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言 Ø 文件存储格式为BSON(一种JSON的扩展) Ø 可通过网络访问 使用原理 所谓“面向集合”(Collenction-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。 模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。 存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON(Binary JSON)。






mongodb 文档数据库,存储的是文档(Bson->json的二进制化).

 
   

 

 
   

特点:内部执行引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作.

 
   

 

 
   

mongo和传统型数据库相比,最大的不同:

 
   

传统型数据库: 结构化数据, 定好了表结构后,每一行的内容,必是符合表结构的,就是说--列的个数,类型都一样.

 
   

mongo文档型数据库: 表下的每篇文档,都可以有自己独特的结构(json对象都可以有自己独特的属性和值)

 
   

 

 
   

思路: 如果有电影, 影评, 影评的回复, 回复的打分

 
   

在传统型数据库中, 至少要4张表, 关联度非常复杂.

 
   

在文档数据库中,通过1篇文档,即可完成.  体现出文档型数据库的反范式化.

 
   

{

 
   

 fiim:’天龙八部’

 
   

 comment:[

 
   

{content:’王家卫的电影风格’,

 
   

 reply:[‘支持’,’好’]

 
   

}

 
   

]

 
   

}

 
  

 

你可能感兴趣的:(mongodb)