数据库-MongoDB

1 概念

是1个文档数据库(如json为数据模型)由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是1个介于关系数据库和非关系数据库的产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构是BSON,一种类似json的二进制形式的存储形式。
特点:是支持查询语言类似面向对象的查询语言,几乎可以实现类似关系数据库单表查询的大多数功能,而且还支持对数据建立索引。原则上Oracle和MySQL能做的事情,MongoDB都能做(包括ACID事务)
数据库-MongoDB_第1张图片

2 优势

MongoDB基于灵活的JSON文档模型,适合敏捷式的快速开发。
数据库-MongoDB_第2张图片

3 应用场景

游戏场景、物流场景、物联网场景、视频直播、大数据应用
可以通过下面的特征满足1点,可以考虑MongoDB数据库。
数据库-MongoDB_第3张图片

4 mysql和MongoDB的区别

1、数据库模型
MongoDB:非关系型
MySQL:关系型
2、存储方式
MongoDB:虚拟内存+持久化
MySQL:不同引擎不同存储方式
3、架构特点
MongoDB:通过副本集和分片实现高可用
MySQL:常见有单点、M-S、MHA、MMM
4、数据处理方式
MongoDB:基于内存,将热数据存在物理内存中,从而达到高速读写
MySQL:不同引擎不同(InnoDB存储引擎、MEMORY存储引擎、MyISAM存储引擎、Archive存储引擎)
5、查询语句
MongoDB:特殊的自带的查询方式
MySQL:sql语句
6、成熟度
MongoDB:新兴数据库、成熟度较低
MySQL:拥有较为成熟的体系,成熟度较高
7、优势
MongoDB:
1)无需经过sql层的解析,读写性能高
2)基于键值对,数据没有耦合性,容易扩展
3)存储数据的格式,nosql使用key:val形式,文档的形式,图片形式等,而关系型数据库则只支持基础类型
4)本身的failover(故障切换)机制,无需使用如MHA之类的方式实现
MySQL:sql语句
1)容易理解
2)使用方便
3)易于维护,支持SQL,可用于复杂的查询
4)事务一致
8、缺点
MongoDB:
1)不提供sql支持、学习成本高
2)无事务处理,附加功能和报表支持也不好(无事务性,就没有原子性、一致性、隔离性、持久性)
MySQL:
1)为了维护一执行需要消耗大量的性能
2)影响读写
3)固定的表结构
4)不适合高并发读写需求
5)不适合海量数据的高效率读写

5 MongoDB具体使用命令

数据库-MongoDB_第4张图片
数据库-MongoDB_第5张图片

数据库-MongoDB_第6张图片
数据库-MongoDB_第7张图片
数据库-MongoDB_第8张图片
数据库-MongoDB_第9张图片
数据库-MongoDB_第10张图片
其他MongoDB的用法可自行百度

如有侵权,请联系删除。

你可能感兴趣的:(架构,数据库,mongodb,nosql)