个人网站做经营性,网站站长工具,免费搭建手机自助网站,企业做网站域名需要自己申请吗内容
一、MongoDB 数据库架构
A. MongoDB数据库体系架构
1. 存储引擎#xff08;MongoDB Storage Engines#xff09;#xff1a;
2. MongoDB 数据逻辑架构
二、MongoDB 存储引擎
A. 查看mongodb服务器的状态
B. 查看引擎信息#xff08;4.2.1 没有这个命令#xf…内容
一、MongoDB 数据库架构
A. MongoDB数据库体系架构
1. 存储引擎MongoDB Storage Engines
2. MongoDB 数据逻辑架构
二、MongoDB 存储引擎
A. 查看mongodb服务器的状态
B. 查看引擎信息4.2.1 没有这个命令
C. 查看 - 集合状态包含引擎信息
三、集合 Collection
A. 创建集合 B. 查看集合状态 C. 查看集合所有文档 美化
四、文档模型 与 BSON
A. MongoDB 文档模型
B. MongoDB文档模型设计原则
1.数据模型两种方式
2. Mongodb文档结构分为
2-1引用方式
2-2嵌入式 文档嵌套
五、日志Log机制数据安全问题
A. Mongodb 日志Journa
B. Mongod.conf 控制日志 C. 深入MongoDB日志模式底层原理
D. 控制WiredTiger日志持久化
E. 配置文件 mongod.conf
1. 地址
2. 内容说明
3. windows带日志下--服务器启动演示
六、MongoDB 总结
A. Document 内嵌 VS 引用 优缺点
B. MongoDB存储引擎主要有哪些 ?C. 几种主流存储引擎的差异?优缺点?D. MongoDB日志结构 ?E. MongoDB恢复数据库数据的原理?F. BSON如何保证数据的序列化?G. MongoDB文档模型 ?H. MongoDB文档模型优缺点?I. 如何控制MongoDB日志写入时间? 一、MongoDB 数据库架构
A. MongoDB数据库体系架构 1. 存储引擎MongoDB Storage Engines
WiredTiger 对处理读写并发更灵活MMAPv1In-Memory 企业版使用Encrypted3rd Party Engine 2. MongoDB 数据逻辑架构
二进制BSON文档Journal 日志性能优化Index 索引查询优化CollectionCapped可以模拟数据排队的消息队列语言执行引擎 二、MongoDB 存储引擎
作用解决数据存储和磁盘的交互以及索引机制大量IO操作存储引擎负责管理数据存储包括内存和磁盘2个区域 引擎名说明描述MMAPV1【官方】3.0之前版本WiredTiger【官方】3.0之后版本默认锁机制提升性能Encrypted【官方】企业版In-Memory【官方】企业版RocksDB【Facebook】可以结合mongodb以及mysql一起使用写入性能优化TerarkDB【字节跳动】工程团队存储空间 查询性能优化其他引擎 如 阿里云提供支持RocksDB 和 TerarkDB WiredTiger默认 A. 查看mongodb服务器的状态
db.serverStatus() B. 查看引擎信息4.2.1 没有这个命令
db.serverStatus().storgeEngine C. 查看 - 集合状态包含引擎信息
db.users.stats() 三、集合 Collection
类似于关系型数据库中的表 TableMongoDB 数据库可以包含多个集合一个集合可以包含多个文档( Document)如果集合不存在MongoDB会在保存第一条数据时自动创建集合懒创建可以使用 db.createCollection0 创建集合集合不限制文档Document的字段架构MongoDB 3.2开始 可以启用 Schema Validation 强制验证文档结构MongoDB还提供了Capped Collection固定容量大小的集合 A. 创建集合
创建集合名为log固定容量大小5242880 单位字节文档个数 max5000 表示最多5000个文档
db.createCollection(log,{ capped : true, size : 5242880, max : 5000 }) B. 查看集合状态
db.users.stats() C. 查看集合所有文档 美化
db.users.find().pretty() 四、文档模型 与 BSON A. MongoDB 文档模型
Document 文档类似于关系型数据库中的行Row数据基本单元文档结构类似于JSON文档存储键值对Key-Value数据MongoDB保存数据的基本格式是BSON DocumentBSON是二进制JSON目的节约存储空间MongoDB的文档支持更丰富的数据类型_id 是默认的主键使用的是ObjectId类型保证唯一也可以自定义字段存储有特定的顺序允许嵌套复杂类型如文档类型的数据除了数据使用文档、查询、过滤、索引管理等功能也全部使用文档以文档为操作单位BSON 文档大小有 16M的限制超出16M 限制的数据可以使用GridFS存储 B. MongoDB文档模型设计原则
1.数据模型两种方式
Normalized 范式 设计标准为了节省磁盘空间Denormalized 反范式随着磁盘价格大幅度下降为了追求性能不计成本累加硬件 2. Mongodb文档结构分为
【范式】引用方式 : 也就是RDBMS中的外键关联【反范式】嵌入式 : 也就是Ducoment文档中的内嵌节点 2-1引用方式 2-2嵌入式 文档嵌套 五、日志Log机制数据安全问题
A. Mongodb 日志Journa
为了防止突发故障导致的数据丢失MongoDB提供了日志机制WiredTiger使用写前日志 write-ahead transaction log 和Checkpoint检查点 一起来确保数据正确持久性如果MongoDB日志存在检查点就使用日志重放修改直到上一个检查点日志使用了snappy压缩库最小日志大小128字节小于此大小不启用压缩单节点不启用日志可能导致数据修改丢失WiredTiger引擎日志默认100M毫秒刷一次磁盘日志文件最大100M超过会自动创建新文件WiredTiger引擎会自动删除直到上一个CheckPoint的日志文件 B. Mongod.conf 控制日志
启动日志日志路径/data/db/journal C. 深入MongoDB日志模式底层原理
Shared View共享内存数据视图数据写入周期是60S D. 控制WiredTiger日志持久化
MongoDB的日志在DbPath目录下的Journal目录下启动参数 --journal 开启使用 --nojournal 关闭也可以配置文件关闭WiredTiger默认提交日志时间是间隔100毫秒3.2 版本WiredTiger写入日志间隔默认50毫秒3.6 版本以后WiredTiger设置检查点间隔是60秒如果 写入操作设置了 j: true引擎会立即写磁盘日志大小是100MB写满以后重新创建日志文件如果强制关闭Mongod进程可能会导致日志丢失使用storage.journal.commitIntervalMs控制间隔In-Memory引擎不支持此参数 (控制持久化参数)MMAPv1引擎默认提交日志时间是间隔30毫秒WiredTiger引擎自动删除直到上一个CheckPoint的日志文件 E. 配置文件 mongod.conf
1. 地址
linux下/etc/mongod.confdocker中/data/configdb/ 一般默认没有,可以通过部署时映射到该目录下
2. 内容说明
dbpath :数据库文件存放目录path:日志存放目录port:端口号bindip : 0.0.0.0 允许外部容器访问 注不要写127.0.0.1auth : 不使用密码账户登录
# Where and how to store data.
storage:dbPath: /mnt/mongodb/datajournal:enabled: true
systemLog:destination: filelogAppend: truepath: /mnt/mongodb/logs/mongod.log# network interfaces
net:port: 27017bindIp: 0.0.0.0#auth auth:false 3. windows带日志下--服务器启动演示
linux/docker 默认自动启动服务器
# 服务器启动默认开启日志
mongod.exe --dbpath c:\\MongoDB\data\db --logpath C:\\MongoDB\data\log\mongo.log# 服务器启动开启日志
mongod.exe --dbpath c:\\MongoDB\data\db --journal --logpath C:\\MongoDB\data\log\mongo.log# 服务器启动关闭日志
mongod.exe --dbpath c:\\MongoDB\data\db --nojournal --logpath C:\\MongoDB\data\log\mongo.log# 客户端启动
mongo.exe --port 27017 六、MongoDB 总结
A. Document 内嵌 VS 引用 优缺点
内嵌引用优点快速读取节约空间 关系灵活 数据更新时候比较简单缺点数据冗余 数据更新时候比较复杂需要从多个表读数据
B. MongoDB存储引擎主要有哪些 ? C. 几种主流存储引擎的差异?优缺点? D. MongoDB日志结构 ? E. MongoDB恢复数据库数据的原理? F. BSON如何保证数据的序列化? G. MongoDB文档模型 ? H. MongoDB文档模型优缺点? I. 如何控制MongoDB日志写入时间?