mongodb 概述

1 mongodb 是什么

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

2 mongodb 的适用和不适用场景

什么时候使用mongodb

1 数据量达到亿万级或者需要不断扩容(通过分片集群实现扩容,每个片负责一部分的集合)
2 新应用,需求会变,数据模型无法确定
3 应用不需要事务及复杂join支持
4 系统需要大量的地理位置查询
5 要管理的主要数据对象 < 10

具体使用场景:

日志收集,网络爬虫

3 mongodb 的缺点

多集合关联支持较弱,事务较弱

4 mongodb 相关原理

MongoDB使用的是内存映射存储引擎,它会把磁盘IO操作转换成内存操作,如果是读操作,内存中的数据起到缓存的作用,如果是写操作,内存还可以把随机的写操作转换成顺序的写操作,总之可以大幅度提升性能,一个mongod实例几乎要占用服务器上一半的内存。

5 集群方式

副本集:读写分离,主节点负责写,从节点负责读,一主一从只能实现备份,无法实现主从切换,所以要实现高可用需要一主多从。

分片集群:多个主节点,多个从节点,每个主节点负责一部分数据。大致的工作流程:客户端提交数据,传给mongos(前端路由)进程,mongos查看配置服务器config server,知道了它包含的shard(分片服务器)有哪些,由此把数据均衡分配给各个shard(分片服务器)。

posted @ 2023-11-19 11:58  温故纳新  阅读(18)  评论(0编辑  收藏  举报