MongoDB和MySQL的区别
- MySQL是传统的关系型数据库,而MongoDB是非关系
- MySQL有不同的存储方式,而MongoDB为"虚拟化+持久化"
关系型数据库-MySQL
- 不同引擎有不同的存储方式
- 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
- 开源数据库不断增加,而mysql份额也在增加
- 而他的缺点是海量数据处理概率会显的变慢
非关系型数据库-MongoDB
- 存储方式:存储内存+持久化
- 查询语句:是独特的MongoDB的查询方式
- 适合场景:事件的记录,内容管理等等
- 架构特点:可以通过副本集,以及分片来实现高可用
- 数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写
MongoDB优势与劣势
优势
- 在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快
- MongoDB的高可用和集群架构拥有十分高的扩展性。
- 当主库遇到问题无法继续的时候,会选择新的主库
- MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询
劣势
- 不支持事务操作
- 应用经验少
- 占用空间过大
# 对比表格图
| 数据库 | MongoDB | MySQL |
|---|---|---|
| 数据库模型 | 非关系型 | 关系型 |
| 存储方式 | 以类JSON的文档的格式存储 | 不同引擎有不同的存储方式 |
| 查询语句 | MongoDB查询方式(类似JavaScript的函数) | SQL语句 |
| 数据处理方式 | 基于内存,将热数据存放在物理内存中,从而达到高速读写 | 不同引擎有自己的特点 |
| 成熟度 | 新兴数据库,成熟度较低 | 成熟度高 |
| 广泛度 | NoSQL数据库中,比较完善且开源,使用人数在不断增长 | 开源数据库,市场份额不断增长 |
| 事务性 | 仅支持单文档事务操作,弱一致性 | 支持事务操作 |
| 占用空间 | 占用空间大 | 占用空间小 |
| join操作 | MongoDB没有join | MySQL支持join |
以下为Mongodb基础安装过程(可能不匹配)
1.安装包地址
MongoDB Community Download | MongoDB
2.路径安装
3.安装完后找到对应目录
4.安装路径下创建data\db和data\log两个文件夹
systemLog:
destination: file
path: D:\developer\env\MongoDB\data\log\mongod.log
storage:
dbPath: D:\developer\env\MongoDB\data\db
运行MongoDB服务
D:\MongoDB\bin\mongod --dbpath D:\MongoDB\data\db
7.安装为服务(运行命令需要用管理员权限)
8.相关命令
启动服务: net start MongoDB
关闭服务: net stop MongoDB
移除服务: D:\developer\env\MongoDB\bin\mongod.exe –remove