之前讲解完了关系型数据库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.重启