七、Mongodb数据库
mongodb数据库主要用于海量存储,常被用在数据采集项目中。
1.mongodb的介绍
1.1什么是mongodb
- mongodb是一个功能最丰富的NoSQL非关系型数据库。由C++语言编写
- mongodb本身提供S端存储数据,即server;也提供C端操作处理(如查询等)数据,即client
1.2 SQL和NoSQL的主要区别
- 在SQL中层级关系:数据库>表>数据
- 而在NoSQL中则是:数据库>集合>文档
1.2.1 数据之间无关联性
- SQL中如何需要增加外部关联数据的话,规范化做法是在原表中增加一个外键,关联外部数据表。
- NoSQL则可以把外部数据直接放到原数据集中,以提高查询效率。缺点也比较明显,对关联数据做更新时会比较麻烦。
- SQL中在一个表中的每条数据的字段是固定的。而NoSQL中的一个集合(表)中的每条文档(数据)的key(字段)可以是互不相同的。
1.3 mongodb作为非关系型数据库相较于关系型数据的优势
- 易扩展:NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。
- 大数据量、高性能:NoSQL数据库都具有非常高的读写性能,尤其在大数据量下表现优秀。这得益于它的非关系型,数据库的结构简单。
- 灵活的数据模型:NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库中,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段键值就是一个噩梦。
2.mongodb的安装
以ubuntu18.04为例
mongdb具有两种安装方式:命令安装或源码安装
2.1命令安装
在ubuntu中使用apt-get工具安装
sudo apt-get install -y mongodb-org
2.2源码安装
- 1.下载相应版本压缩包
https://www.mongodb.com/download-center/community?jmp=docs
- 2.解压
tar -zxvf mongodb-linux-x86_64_ubuntu1804-4.0.3.tgz
- 3.移动到/usr/local目录下
sudo mv -r mongodb-linux-x86_64_ubuntu1804-4.0.3/ /usr/local/mongodb
- 4.在shell的初始化脚本.bashrc中添加mongodb可执行文件到环境变量PATH中
# 进入.bashrc文件中
cd ~
sudo vi .bashrc
# 在.bashrc文件的最后添加
export PATH=/usr/local/mongodb/bin:$PATH