1.mongodb的介绍
1.1 什么是mongodb
- mongodb是一个功能最丰富的NoSQL非关系数据库,由c++语言编写
- mongodb本身提供S段存储数据,即serever;也提供C端操作处理(如查询等)数据,即client
1.2 SQL和NoSQL的主要区别
- 在SQL中层级关系:数据库>表>数据
- 在NoSQL中则是:数据库>集合>文档
1.2.1数据之间无关联性 - SQL中如过需要增加外部管理数据的话,规范化做法是在原表中增加一个外键,关联外部数据表。
- NoSQL则可以吧外部数据直接放到原数据集中,以提高查询效率,缺点也比较明显,对关联数据做更新时会比较麻烦。
- SQL中在一个表中的每条数据的字段是固定的,而NoSQL中的一个集合(表)中的每条文档(数据)的key(字段)可以是互不相同的。
1.3 mongodb作为非关系型数据库相较于关系型数据库的优势
易扩展:NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性,数据之间无关系,这样就非常容易扩展
大数据量、高性能:NoSQL数据库具有非常高的读写性能,尤其在大数据量下表现优秀,这得益于他的非关系性,数据库的结构简单
灵活的数据模型:NoSQL无需实现为要存储的数据建立字段,随时可以存储自定义的数据格式,而在关系数据库中,增删字段是一件非常麻烦的事情,如果是非常大数据量的表,增加一个字段简直就是一个噩梦。