数据库随笔3-MongoDB概述
来源:互联网 发布:金蝶k3软件 编辑:程序博客网 时间:2024/06/07 10:26
随着数据量的不断增长,传统的RDB的扩展越来越困难,虽说有mycat等中间件可以用来分片,但是复杂的关联关系让分片也没那么容易;mongodb支持的内嵌文档可以解决一部分问题,更重要的是,mongodb的复制集、自动分片、mapreduce、gridfs等等,不是传统RDB能提供的。
来张WT引擎架构图
mongodb3.2支持lookup,但不会像RDB那样,选择连接顺序;
WT引擎加入了mvcc,而且是在内存中,不像undo要持久化,snapshot隔离级别,支持snapshot内版本的可见性,蛮新奇的说;
缓冲区管理方面,row_array、upate_array和insert_array,是增加新版本的方式;
存储管理方面,page的cell就是key、value数据块,WT引擎有自己的写入进程,copy-on-write模式。
来张内存结构图:
来张page结构图
mongodb以单个集合为操作单元,不必考虑关系模型那些关联,这种模式使她在应对大数据方面,更少的约束、更多的空间。
mongodb根据raft实现复制集,扩展了从节点链拉取,主节点优先级,避免回滚(w:1)。
mongodb的sharding,支持key的范围、哈希分片,而且支持分片之间的均衡(prefect)。
来张集群结构图:
最后,mongodb换装WT引擎之后更加强劲,丰富的功能使得mongodb前景更广阔。
0 0
- 数据库随笔3-MongoDB概述
- 数据库随笔1-RDB概述
- 数据库随笔2-Redis概述
- MongoDB随笔3:使用索引
- MongoDB随笔3:使用索引
- mongodb随笔
- MongoDB随笔
- mongodb 随笔
- mongoDB数据库的概述与安装
- Mongodb概述
- MongoDB概述
- MongoDB概述
- MongoDB概述
- 数据库随笔
- 数据库随笔
- MongoDb随笔,PyMongo简单使用
- Java随笔1-JVM概述
- 中间件随笔2-ZooKeeper概述
- 11.1 Swift继承的概念和语法
- YYModel的简介与使用
- ubuntu各目录含义
- Highcharts使用指南
- 使用 RMI + ZooKeeper 实现远程调用框架
- 数据库随笔3-MongoDB概述
- Android Html用js实现互通传递数据(Android和html数据传递)
- 11.2 Swift中super关键字
- 简单的修改项目中的头像
- 使用ftpclient的细节
- 多渠道共存打包(一)
- 【RocketMQ原理解析1.1】整体介绍&IDE编译并启动RocketMQ的第一个例子
- web应用中Spring ApplicationContext的动态更新
- Java中String.format的用法