目录
MongoDB简介
MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在 为 WEB 应用提供可扩展的高性能数据存储解决方案。将数据存储为一个文档(类似JSON对象),数据结构由键值(key=>value)对组成支持丰富的查询表达,可以设置任何属性的索引,也可以嵌套文档来表示层次关系,并存储诸如数组之类的结构。
MongoDB是一个介于非系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB优势
(1)文档结构的存储方式,能够更便捷的获取数据,单个对象的结构是明确的。
(2)性能优越。在使用场合下,千万级别的文档对象,近10G的数据,对有索引的ID的查询不会比mysql慢,而对非索引字段的查询,则是全面胜出。
(3)深度查询能力。MongoDB使用与SQL一样强大的基于文档的查询语言支持对文档的动态查询。
(4)第三方支持丰富。开源的文档数据库MongoDB背后有商业公司为它提供商业培训和支持。
(5)全索引支持,扩展到内部对象和内嵌数组,没有复杂的连接。
小贴士:虽然MongoDB优势不少,但是在使用时也有注意一些缺点,比如不支持事务操作、占用空间过大,没有如MySQL那样成熟的维护工具。
MongoDB概念解析
在MongoDB中有3个比较核心概念,那就是文档、集合、数据库,下面通过一个表格与SQL术语进行对比,帮助你对它有更深理解:
SQL
术语
/
概念
|
MongoDB
术语
/
概念
|
解释
/
说明
|
database
|
database
|
数据库
|
table
|
collection
|
数据库表
/
集合
|
row
|
document
|
数据记录行
/
文档
|
column
|
field
|
数据字段
/
域
|
index
|
index
|
索引
|
table joins
|
表连接
,MongoDB
不支持
| |
primary key
|
primary key
|
主键
,MongoDB
自动将
_id
字段设置为主键
|