美文网首页
NoSQL文档型存储数据库—MongoDB

NoSQL文档型存储数据库—MongoDB

作者: 跟着阿笨一起玩NET | 来源:发表于2020-10-11 21:30 被阅读0次

一、 NoSQL数据库分类

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

NoSQL 数据库数量很多,但可以划分为如下图所示的 4 大类:
键值存储数据库:数据库代表——Redis;
列存储数据库:数据库代表——HBase;
文档型存储数据库:数据库代表——MongoDB;
图形数据库:数据库代表——Neo4J。

二、什么是MongoDB

关系型数据库:在我们所用过的sqlserver、mysql等,这些都是关系型数据库,并且关系型数据库是遵循ACID原则的,严格的一致性。
非关系型数据库:也叫作NoSQL,用与超大规模数据的存储,这些类型的数据存储不需要固定的模式,无需多余的操作就可以横向扩展。

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

三、Mongodb优缺点以及适合场景

MongoDB是为互联网而生的数据库,是文档数据库。

1.1 、优点:

Schema-less,不需要预先定义表结构,同一个“表”中可以保存多个格式的数据;

数据支持嵌套,数据以json格式存储;

允许使用JavaScript写服务端脚本,类似于存储过程;

支持Map/Reduce;

MongoDB支持地理位置索引,可以直接用于位置距离计算和查询,实现“附近的人”、

“滴滴打车接单”等很容易;

1.2 、缺点:

Mongodb没有“数据一致性检查”、“事务”等,不适合存储对数据事务要求高(比如金融)的数据;只适合放非关键性数据(比如日志或者缓存)。

关联查询很弱,不适合做报表查询

1.3、Mongodb适合场景

1)、应用在应用服务器的日志记录。

2)、主要用来存储一些监控数据,No schema 对开发人员来说,真的很方便,增加字段不用改表结构,而且学习成本极低。

3)、使用MongoDB做了O2O快递应用,·将送快递骑手、快递商家的信息(包含位置信息)存储在 MongoDB,然后通过 MongoDB 的地理位置查询,这样很方便的实现了查找附近的商家、骑手等功能,使得快递骑手能就近接单。

1.4、不适合MongoDB的场景

如果业务中存在大量复杂的事务逻辑操作,则不要用MongoDB数据库。

四、 总结

在mongodb中对应关系型数据库中‘表’的概念为‘集合’,表中的数据结构是一致,mongodb以json格式存储,集合数据是灵活的,mongodb的同一集合collection中可存不同结构的数据。但是实际工作中,阿笨不建议大家将不同类对象存入同一个MongoDB的Collection。

NoSQL文档型存储数据库—MongoDB


通过本次分享课程后大家记住一点千万不要把MongoDB NOSQL数据库像RDBMS关系型数据库一样去应用!建议把不是频繁修改的数据放在MongoDB中。Mongodb是永远取代不了我们日常用到的sqlserver,mysql,oracle等数据库的。两者只能相互补充,取长补短的作用。

归纳:NoSQL 适用于数据模型较简单、无高度的数据一致性需求,但要求高性能和灵活性的情况。

记住一点:如果你用着用着你突然发现把mongodb当成RDMS关系型数据库来使用了,那就是你的不对了!mongodb只永远只适合存放一些固化的非结构化的数据!

相关文章

  • Node.js对MongoDB进行增删改查操作

    MongoDB简介 MongoDB是一个开源的、文档型的NoSQL数据库程序。MongoDB将数据存储在类似JSO...

  • NoSQL( MongoDB )

    NoSQL( MongoDB ) MongoDB 概念 MongoDB是一款NoSQL类型的文档型数据库 就是一...

  • 我的物联网综合知识之创建数据库

    一、MongoDB简介 我们使用MongoDB数据库来存储数据。它是一个面向文档的非关系型(NoSQL)数据库,基...

  • Mongodb

    Mongodb是非关系型数据库(nosql ),属于文档型数据库。文档是mongoDB中数据的基本单元,类似关系数...

  • MongoDB

    一、概述 MongoDB是一款NoSQL类型的文档型数据库,就是一个数据库,将数据存储在磁盘文件中。MongoDB...

  • MongoDB的正确使用姿势

    首先,MongoDB是文档型(Document store)的NoSQL数据库,数据以文档(对应关系型数据库的记录...

  • 个人对于大数据的价值的理解

    文档型数据库MongoDB、键值型数据库Redis、列存储数据库Cassandra等.mongodb适合做文档。 ...

  • (4)为什么 MongoDB 索引选B-树,Mysql 选B+

    MongoDB 是文档型的数据库,nosql,用类 Json 保存数据(其他文档型db用XML),属于聚合型数据库...

  • 2018-08-06Mongodb简介

    MongoDB是一个NoSQL,是非关系型数据库。MongoDB 是一个基于分布式 文件存储的NoSQL数据库不需...

  • MongoDB介绍

    MongoDB是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。作为主流的非关系型数据库(NoSQL)...

网友评论

      本文标题:NoSQL文档型存储数据库—MongoDB

      本文链接:https://www.haomeiwen.com/subject/tvbtwctx.html