MongoDB基础知识记录

MongoDB 基础知识记录

一. 概念:

讲 mongdb 就必须提一下 nosql,因为 mongdb 是 nosql 的代表作:

        NoSQL(Not Only SQL),意即“不仅仅是 SQL” , 指的是非关系型的数据库 。是一项全新的数据库革命性运动,早期就有人提出,发展至 2009 年趋势越发高涨。NoSQL 的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。 
  关系型数据库中的表都是存储一些结构化的数据,每条记录的字段的组成都一样,即使不是每条记录都需要所有的字段,但数据库会为每条数据分配所有的字段。而非关系型数据库以键值对 (key-value) 存储,它的结构不固定,每一条记录可以有不一样的键,每条记录可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。

(1)传统:

MongoDB  是一个基于分布式文件存储的数据库。由C++语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

(2)个人理解:

     mongodb 就是一个以文档方式存储的高性能、易部署的非关系型数据库。

 

二. 特点:(主要)

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

 

三. 优点:(主要)

1. 文档存储;

2. 非结构化;

3. 动态查询;

4. 缺少专业的数据库管理员;

5. 支持 RUBY,PYTHON,JAVA,C++,PHP 等多种语言;

6. 可扩展性;

7. 复制和故障切换支持;

 

四. 缺点:(主要)

不支持事务;

不支持联表查询,不适用于关系多的数据;

占用空间过大;

预分配模式带来的磁盘瓶颈;

Mongodb 全局锁机制;

删除数据集合后空间不会自动释放;

 

五. 总结:

一句话,mongodb 不是完美的。

 

                                          -----mongodb 之所以诞生,是思维的变迁。