版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18948359/article/details/87879254
NoSQL 简介
什么是NoSQL?
NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
关系数据库管理系统(RDBMS) 与 NoSQL 说明:
RDBMS
- 高度组织化结构化数据
- 结构化查询语言(SQL) (SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务
NoSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
-键 - 值对存储,列存储,文档存储,图形数据库 - 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性
NoSQL的优点/缺点
优点:
- 高可扩展性
- 分布式计算
- 低成本
- 架构的灵活性,半结构化数据
- 没有复杂的关系
缺点:
- 没有标准化
- 有限的查询功能(到目前为止)
- 最终一致是不直观的程序
MongoDB 简介
MongoDB是一个跨平台,面向文档的数据库,提供高性能,高可用性和易于扩展。MongoDB是工作在集合和文档上一种概念。
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
在 MongoDB 中与 Oracle 数据库中对应的概念:
No. | Oracle(关系型数据库) | MongoDB(NoSQL) |
---|---|---|
1 | 数据库 | 数据库(类似于 MySQL) |
2 | 表 | 集合 |
3 | 行 | 文档 |
4 | 列 | 成员操作 |
5 | 主键 | Object ID(数据库自己维护) |
MongoDB安装相关
windows 下安装:
1.在官网上面下载 mongoDB for window的版本 http://www.mongodb.org/downloads
2.安装的时候,选择路径最好使用:D:\MongoDB\Server
# 3.2 是我安装时的版本
默认安装时的路径为: C:\Program Files\MongoDB\Server\3.2\
3.需要在安装完成之后,指定 dbpath :
3.1 新建文件 data\db (文件夹是需要自己新建的)
3.2 命令行为:mongod --dbpath D:\MongoDB\Server\data\db
或者为: mongod --dbpath D:\MongoDB\Server\data\db --port=27017
端口指定就用 默认的
正是需要指定 dbpath 所以,在第二步中:需要修改路径,命令行不能有 " "或者 "." ,不知道是哪一个,但是最好不要有,防止安装失败
4.新建一个 mongodb.conf
内容:
#设置数据目录的路径
dbpath = D:\Program Files\MongoDB\Server\3.2\data\db
#设置数据日志信息的文件
logpath = D:\Program Files\MongoDB\Server\3.2\log\mongodb.log
#打开日志输出操作
logappend = true
#在以后进行用户管理的时候使用它
noauth = true
port = 27017
命令行:
mongod -f D:\MongoDB\Server\mongodb.conf
Linux 下安装: