Springboot整合MongoDB系列(一)---了解下MongoDB

今天新开一个MongoDB系列学习记录兼教程相关博客,以便自己之后查阅,同时也希望能帮助到有需要的小伙伴,,各位看到此博客的小伙伴,如有不对的地方请及时通过私信我或者评论此博客的方式指出,以免误人子弟。多谢!

目录

简单介绍

基本概念

使用场景

与Redis的对比


简单介绍

对于MongoDB的介绍,大家可以去官网看下,简单粘贴下网上对于它的介绍:MongoDB 是一个开源的、可扩展的、跨平台的、面向文档的非关系型数据库,它由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

基本概念

集合中的数据都是 BSON 格式,BSON 是一种类 JSON 的二进制存储格式,是 Binary JSON 的简称。

文档的键值对是有顺序的,MongoDB 中严格区分大小写 ,相同的键值对如果有不同顺序/不同大小写,也是不同的文档。

MongoDB解释说明
database数据库
collection数据表/集合
document数据行/文档
field字段/域
index索引
primary key主键,MongoDB 会自动将 _id 字段设置为主键

使用场景

MongoDB 的主要目标是在键/值存储方式和传统的 RDBMS(关系型数据库)系统之间架起一座桥梁,它集两者的优势于一身。根据官方网站的描述,MongoDB 适用于以下场景。

1) 网站数据

MongoDB 非常适合实时的插入、更新与查询数据,并具备网站实时存储数据所需的复制及高度伸缩的特性;

2) 缓存

由于性能很高,MongoDB 也适合作为信息基础设施的缓存层,在系统重启之后,由 MongoDB 搭建的持久化缓存层可以避免下层的数据源过载;

3) 庞大的、低价值的数据

使用传统的关系型数据库存取大量数据时,数据库的运行效率往往并不尽人意,而 MongoDB 的出现使这个问题迎刃而解,MongoDB 非常适合庞大数据的存储;

4) 高伸缩性的场景

MongoDB 内置了 MapReduce 引擎,因此非常适合由数十或数百台服务器组成的数据库;

5) 用于对象及 JSON 数据的存储

MongoDB 的 BSON 数据格式非常适合文档化格式的存储及查询。

与Redis的对比

MongoDBRedis说明
性能依赖内存,TPS较高依赖内存,TPS非常高Redis优于MongoDB
可操作性丰富的数据表达,索引;最类似于关系型数据库,支持丰富的查询语句数据丰富,较少的IOMongoDB优于Redis
内存及存储适合大数据量存储,依赖系统虚拟内存,采用镜像文件存储;内存占用率比较高,Redis2.0后支持虚拟内存特性(VM) 突破物理内存限制;数据可以设置时效性,类似于memcache不同的应用场景,各有千秋
可用性支持master-slave,replicatset(内部采用paxos选举算法,自动故障恢复)依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制;MongoDB优于Redis;单点问题上,MongoDB应用简单,相对用户透明,Redis比较复杂,需要客户端主动解决.(MongoDB一般使用replicasets和sharding相结合,replicasets侧重高可用性以及高可靠,sharding侧重性能,水平扩展)
可靠性支持持久化依赖快照进行持久化;AOF增强可靠性;增强性的同时,影响访问性能
数据分析内置数据分析功能(mapreduce)不支持MongoDB优于Redis
应用场景海量数据的访问效率提升较小数据量的性能和运算MongoDB优于Redis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值