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 之所以诞生,是思维的变迁。