MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似 Javascript 面向对象的查询语言,它是一个面向集合的、模式自由的文档型数据库。
面向集合( Collenction-Orented )
意思是数据被分组存储在数据集中, 被称为一个集合( Collenction) 。每个集合在数据库中
都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库
( RDBMS )里的表( table ),不同的是它不需要定义任何模式( schema) 。
模式自由( schema-free)
意味着对于存储在 MongoDB 数据库中的文件,我们不需要知道它的任何结构定义。提了这么多次 " 无模式 " 或 "模式自由 " ,它到是个什么概念呢?例如,下面两个记录可以存在于同一个集合里面:
{"name" : "mongo"}
{"age" : 25}
文档型
意思是我们存储的数据是键 - 值对的集合 , 键是字符串 , 值可以是数据类型集合里的任意类型 , 包括数组和文档 .我们把这个数据格式称作“ BSON ”即“ Binary Serialized dOcumentNotation. ”每一个文档相当于关系数据库中的一条记录。
MongoDB 特征
MongoDB 的特点是高性能、易部署、易使用,存储数据非常方便,主要特征有:
面向集合存储,易于存储对象类型的数据
模式自由
支持动态查询
支持完全索引,包含内部对象
支持复制和故障恢复
使用高效的二进制数据存储,包括大型对象(如视频等)
自动处理碎片,以支持云计算层次的扩展性
支持 Python , PHP , Ruby , Java , C , C# , Javascript , Perl 及 C++ 语言的驱动程序,社区中也提供了对 Erlang 及 .NET 等平台的驱动程序
文件存储格式为 BSON (一种 JSON 的扩展)
MongoDB 适用场景
持久化缓存层
高效的实时性
用于对象及 JSON 数据的存储
高伸缩性的场景
大尺寸、低价值的数据存储
MongoDB 不适用场景
要求高度事务性的系统
传统的商业智能应用
复杂的表查询
本文链接:http://www.656463.com/portal.php?mod=view&aid=75 ,转载请注明出处
下一节: MongoDB 的安装与使用