MongDB 数据库知识1
程序 = 数据结构 + 算法
数据存储阶段
1,文件管理阶段 (.txt .doc .xls)
优点: 数据可以长期保存;可以存储大量的数据;使用简单
缺点: 数据的一致性差;数据的查找修改不方便;数据的冗余性大
2,数据库存储阶段
优点 : 数据组织结构化,降低了冗余;方便扩展;方便程序调用,做自动化的处理
缺点 : 数据库使用往往需要特定的语句或者命令进行操 作,相对比较复杂
几个概念
数据 :能够输入到计算机中并被识别处理的信息的集合;
数据结构:研究一个数据集合中,数据之间关系的学科;
数据库:按照数据结构,存储管理数据的仓库。 数据库是在数据库管理系统管理和控制下在一定介质上的 数据集合。
数据库管理系统:数据库管理软件,用于建立维护数据库;
数据库系统:由数据库和数据库管理系统等开发工具组成 的集合;
关系型数据库
采用关系模型来组织数据结构的数据库 (二维表)
Oracle DB2 SQLServer MySQL SqLite
优点:(1)容易理解,逻辑类似常见表格
(2)使用方便,都使用sql语句,sql语句非常成熟
(3)数据的一致性高,冗余低,完整性好
(4)技术成熟,可以使用外部链接等复杂的操作
缺点:(1)每次都需要sql语句的解析,消耗较大
(2)不能很好满足并发需求,特别是海量数据的爆发 ,关系型数据库普遍读写能力不足
(3)关系型数据库内部每一步都要加锁的操作,以保 证操作的原子性,增加了数据库负担
(4)数据的一致性有时会导致大量的空间浪费
数据库范式:
https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%8C%83%E5%BC%8F/7309898?fr=aladdin
非关系型数据库 (NoSql --> not only sql)
优点 : (1)高并发,读写能力强;
(2)普遍比关系型数据库容易扩展
(3)弱化了数据结构,降低了数据的一致性
缺点 :(1) 通用性差,没有sql一样的一致化的操作
(2)操作灵活,容易混乱;
(3)没有join等操作,有的数据库不支持关系型数据库中类似事务等操作。版本更新快;
Nosql的使用情况:
1. 数据一致性要求低
2. 数据库处理海量并发存储
3. 数据库大小不容易估算,需要分布扩展
4. 给定的数据比较容易建立Nosql模型
Nosql的分类:
(1)键值型数据库 : Redis oracle BDB tokyo
(2)列存储数据库 :Hbase
(3)文档型数据库 : MongoDB
(4)图形数据库:
MongoDB数据库 (非关系型数据库---> 文档型数据库)
1. 由c++编写的数据库管理系统;
2. 支持丰富的增删改查操作;
3. 支持丰富的数据类型;
4. 支持众多的编程语言接口(python ruby PHP c++ c#)
5. 使用方便,便于部署。在非关系数据库中属于比较成熟 的数据库
MongoDB安装
自动安装:
sudo apt-get install mongodb
cookie
whereis 软件名称 : 查看软件位置
默认安装位置: /var/lib/mongodb
配置文件位置: /etc/mongodb.conf
命令集: /usr/bin /usr/local/bin
手动安装:
1.下载MongoDB (开源)
www.mongodb.com--->get mongodb-->community server
选择想要的版本下载
2.选择合适的位置解压 (/usr/local /opt)
tar 解压后得到Mongodb文件夹
3. 将MongoDB文件夹中的bin文件夹变为环境变量
PATH=$PATH:/opt/mongo..../bin
export PATH
将以上两句写入 /etc/rc.local
4. 重启系统
原文地址:https://www.cnblogs.com/weizitianming/p/9281214.html