之前讲解完了关系型数据库Mysql的用法,这次就说一下非关系型数据库中的MongoDB吧
数据存储阶段
文件管理阶段(.txt .doc .xls)
优点 : 使用简单,展现直观
可以长期保存数据
可存储数据量比较大
缺点 : 查找不方便
容易造成数据冗余
数据格式不规范
数据库管理阶段
优点: 将数据结构化存储,降低冗余
提高了增删改查效率
方便扩展,方便程序调用
缺点: 数据库往往需要指令或语句操作,相对复杂
几个概念
数据 :能够输入到计算机中并被识别处理的信息的集合
数据结构 :组成一个数据集合的数据之间的关系
数据库 :按照一定的数据结构,存储数据的仓库。数据库是在数据库管理系统管理和控制下,在一定介质上的数据集合
数据库管理系统:数据库管理软件,用于建立维护操作数据库
数据库系统: 由数据库和数据库管理系统高等开发工具组成的集合
关系型数据库
采用关系模型(二维表)来组织数据结构的数据库
Oracle DB2 SQLServer Mysql SQLite
优点 :容易理解,逻辑类似常见的表格
使用方便,都使用sql语句,sql语句非常成熟
数据一致性高,冗余低,数据完整性好,便于操作
技术成熟,功能强大,支持很多复杂操作
缺点 :* 每次操作都要进行sql语句解析,消耗较大
* 能很好的满足并发需求,特别是海量数据爆发,关系型数据库读写能力会显得不足
* 关系型数据库往往每一步都要进行加锁的操作,也造成了数据库的负担
* 数据一致性高,有时也会使数据的存储不灵活
非关系型数据库 (NoSql---》 not only sql)
优点 : 高并发,读写能力强
弱化数据结构一致性,使用更加灵活
有良好的可扩展性
缺点 : 通用性差,没有sql语句那样同于的语句
操作灵活导致容易出错和混乱
没有外键关联等复杂的操作
Nosql的使用情况
1. 对数据存储灵活性要求高,一致性要求低
2. 数据处理海量并发,要求瞬间效率速度比较高
3. 数据比较容易建立Nosql模型
4. 网站临时缓冲存储,爬虫应用
Nosql分类
1.键值型数据库 Redis
2.文档型数据库 MongoDB
3.列存储数据库 HBase
4.图形数据库
MongoDB数据库
标签 : 非关系型数据库 文档型数据库
最像关系型的非关系型数据库
特点 :
1. 是由c++编写的数据库管理系统
2. 支持丰富的数据操作,增删改查索引聚合
3. 支持丰富的数据类型
4. 使用方便,可以很好的扩展。相对比较成熟
5. 支持众多的编程语言接口 (python PHP c++ c#)
要求:
1. 关系型数据库和非关系型数据库各自有什么特点
2. MongoDB是一个什么样的数据库
MongoDB的安装
自动安装
sudo apt-get install mongodb
默认安装位置 : /var/lib/mongodb
配置文件位置 : /etc/mongodb.conf
命令集: /usr/bin /usr/local/bin
手动安装
1. 下载安装包
www.mongodb.com
2. 解压安装包
/usr/local /opt
3.将解压后的MongoDB文件夹中的bin目录添加到环境比变量
PATH=$PAHT:/opt/mongo...../bin
export PATH
将以上两句写入启动脚本 /etc/rc.local
4.重启