MongoDb简介

25 篇文章 0 订阅
1 篇文章 0 订阅

最近项目中用到了mongodb,于是简单学习了一下。之前以为mongodb和redis是同样的方式存储的,真正学习了才发现二者还是有很大差异的。

MONGODB简介

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。

mongodb的数据结构是bson格式,bson格式即是json的二进制转换格式。在mongodb中存在一个js引擎,
数据通过json的格式写入到mongodb中,经过js引擎的处理,最终以bson格式进行存储。
因此,在mongodb数据库中可以直接使用js的语法进行操作数据库。在查询时,通过js引擎将数据转换为js对象进行展示。
如图:
这里写图片描述

在mongodb中,一条记录被称作一篇文档,因此也叫文档型数据库。一个表被称为collection。
每条记录都是以json的形式展示,同时,每篇文档都可以有自己独特的结构(正如json对象可以有自己独特的属性和值是一样的)

mysql、mongodb、redis的对比

mysql:结构型数据库,数据存储的字段都是实现定义好的,必须按照规定的数据结构进行存储。同时,数据统一存储在硬盘上,具有性能瓶颈。
支持事务。适用于数据一致性要求比较强的情况。

mongodb:介于关系型和非关系型之间的数据库。数据以bson格式进行存储。每个记录都可以有自己独特的结构。
且mongodb具有强大的查询语句,具有索引等关系型数据库的特点。MongoDB数据存在内存,由linux系统mmap实现,
当内存不够时,只将热点数据放入内存,其他数据存在磁盘。不具有性能瓶颈。不支持事务。适用于网站数据,数据量大且没有固定结构,比如电影评论。


redis:完全的非关系型数据库。ke-value形式存储在内存中。具有持久化功能。没有性能瓶颈。
支持的数据结构丰富,包括hash、set、list等。不能很好的支持事务。适用于性能要求较高,但是数据一致性要求不高的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值