08-27-周三_17-09-29

This commit is contained in:
2025-08-27 17:10:05 +08:00
commit 86df397d8f
12735 changed files with 1145479 additions and 0 deletions

View File

@@ -0,0 +1,373 @@
# 基础概念
## NoSQL 数据库概述
- 关系型数据库 vs NoSQL 数据库
- NoSQL 数据库分类(文档型、键值型、列族型、图形型)
- MongoDB 在 NoSQL 生态中的定位
## 核心概念
- 文档Document与 BSON 格式
- 集合Collection概念
- 数据库Database结构
- MongoDB 与关系型数据库术语对比
## 架构原理
- MongoDB 存储引擎WiredTiger
- 内存映射文件系统
- 索引机制
- 查询优化器
## 文档学习
---
# 环境搭建
## 安装部署
- Linux 环境安装RockyLinux9
## 相关配置
- 配置文件详解
- 数据目录设置
- 日志配置
- 网络绑定设置
## 服务管理
- systemctl 服务管理
- 开机自启动配置
- 服务状态监控
## 实践环节
- 生产环境配置文件模板
---
# 基础操作
## MongoDB Shell 使用
- mongo shell 连接
- 基本命令操作
- 脚本执行
## 数据库操作
- 创建和删除数据库
- 数据库列表查看
- 数据库切换
## 集合操作
- 创建和删除集合
- 集合属性设置
- 集合统计信息
## 文档 CRUD 操作
- 插入文档insert、insertOne、insertMany
- 查询文档find、findOne
- 更新文档update、updateOne、updateMany
- 删除文档remove、deleteOne、deleteMany
## 实践环节
- 基础 CRUD 操作练习
- 批量数据导入导出
- 数据迁移实验
---
# 进阶查询
## 查询操作符
- 比较操作符($eq、$ne、$gt、$gte、$lt、$lte
- 逻辑操作符($and、$or、$not、$nor
- 元素操作符($exists、$type
- 数组操作符($in、$nin、$all、$size
## 查询修饰符
- 排序sort
- 限制limit
- 跳过skip
- 投影projection
## 正则表达式查询
- 正则表达式语法
- 模糊查询实现
- 性能考虑
## 聚合框架基础
- 聚合管道概念
- 常用聚合操作符
- 分组和统计
## 实践环节
- 复杂查询练习
- 聚合查询实例
- 查询性能测试
---
# 索引优化
## 索引基础
- 索引原理和作用
- B-Tree 索引结构
- 索引的优缺点
## 索引类型
- 单字段索引
- 复合索引
- 多键索引
- 文本索引
- 地理空间索引
- 哈希索引
## 索引管理
- 创建索引createIndex
- 删除索引dropIndex
- 查看索引getIndexes
- 重建索引reIndex
## 查询性能优化
- 执行计划分析explain
- 索引选择策略
- 查询优化技巧
## 实践环节
- 索引创建和管理
- 性能测试对比
- 查询优化案例
---
# 数据建模
## 文档设计原则
- 嵌入式文档 vs 引用
- 数据冗余策略
- 原子性考虑
## Schema 设计模式
- 一对一关系建模
- 一对多关系建模
- 多对多关系建模
- 树形结构建模
## 数据验证
- Schema 验证规则
- 数据类型约束
- 自定义验证器
## 实践环节
- 电商系统数据建模
- 社交网络数据建模
- 内容管理系统建模
---
# 聚合框架
## 聚合管道详解
- $match 阶段
- $group 阶段
- $sort 阶段
- $project 阶段
- $limit 和 $skip 阶段
## 高级聚合操作
- $lookup关联查询
- $unwind数组展开
- $facet多维聚合
- $bucket分桶聚合
## 聚合表达式
- 算术表达式
- 字符串表达式
- 日期表达式
- 条件表达式
## MapReduce
- MapReduce 概念
- 编写 Map 和 Reduce 函数
- 性能对比
## 实践环节
- 数据分析报表
- 实时统计系统
- 复杂业务逻辑实现
---
# 副本集Replica Set
## 副本集概念
- 高可用性需求
- 副本集架构
- 主从复制原理
## 副本集架构
- Primary 节点
- Secondary 节点
- Arbiter 节点
- 选举机制
## 副本集部署
- 单机多实例部署
- 多机部署
- 配置文件设置
- 初始化副本集
## 副本集管理
- 添加和删除节点
- 优先级设置
- 故障转移测试
- 数据同步监控
## 实践环节
- 副本集搭建
- 故障模拟和恢复
- 性能测试
---
# 分片Sharding
## 分片概念
- 水平扩展需求
- 分片架构组件
- 分片键选择
## 分片架构
- Config Server
- Shard Server
- mongos 路由
- 数据分布策略
## 分片部署
- 分片集群搭建
- 配置服务器部署
- 路由服务器配置
- 分片初始化
## 分片管理
- 分片键管理
- 数据均衡
- 分片添加和删除
- 性能监控
## 实践环节
- 分片集群搭建
- 数据分片测试
- 扩容演练
---
# 安全管理
## 认证机制
- 用户认证
- 角色权限管理
- LDAP 集成
## 授权控制
- 基于角色的访问控制RBAC
- 数据库级权限
- 集合级权限
## 审计日志
- 审计功能配置
- 日志分析
- 合规性要求
## 实践环节
- 安全配置实施
- 权限测试
- 安全审计
---
# 备份与恢复
## 备份策略
- 全量备份
- 增量备份
- 实时备份
## 备份工具
- mongodump/mongorestore
- 文件系统快照
- 第三方备份工具
## 恢复策略
- 完全恢复
- 时间点恢复
- 选择性恢复
## 备份自动化
- 备份脚本编写
- 定时任务配置
- 备份验证
## 实践环节
- 备份恢复演练
- 自动化脚本开发
- 灾难恢复测试
---
# 性能监控与调优
## 性能监控
- mongostat 工具
- mongotop 工具
- 第三方监控工具
## 性能指标
- 连接数监控
- 操作延迟
- 内存使用
- 磁盘 I/O
## 性能调优
- 查询优化
- 索引优化
- 硬件优化
- 配置优化
## 故障诊断
- 慢查询分析
- 锁竞争分析
- 内存泄漏排查
## 实践环节
- 性能基准测试
- 瓶颈分析
- 调优实施
---