欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MangoDB--了解篇

程序员文章站 2022-05-14 16:57:44
...

本文借鉴了一些文章的内容,推荐:http://blog.csdn.net/liusong0605/article/details/10554395 什么是MongoDB? MongoDB是一个基于分布式文件存储的数据库。是介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

本文借鉴了一些文章的内容,推荐:http://blog.csdn.net/liusong0605/article/details/10554395

什么是MongoDB?

MongoDB是一个基于分布式文件存储的数据库。是介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。

Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB的特点:

高性能、易部署、易使用,存储数据非常方便。

这里只说一些我认为比较有代表性的特点。

1、面向集合存储,易存储对象类型的数据。

意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。

2、模式*。

意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。

3、文件存储格式为BSON(一种JSON的扩展)

存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(BinarySerialized dOcument Format)

4、支持完全索引,包含内部对象。

Mongodb支持关系型数据库的所有索引模式(升序,降序,唯一,复合,地理空间索引),同时也支持二级索引(通过B-tree实现)。每一个collection支持64个索引

5、使用高效的二进制数据存储,包括大型对象(如视频等)。

以前一直在使用关系型数据库,对于非关系型的数据库了解比较少,加上这是项目中立即要用到的,所以理论方面知道的比较少,这里只做基本了解。