感谢您发送咨询!我们的团队成员将很快与您联系。
感谢您发送预订!我们的团队成员将很快与您联系。
课程大纲
模块1:MongoDB简介与架构(4小时)
内容:
- MongoDB的历史和生态系统
- 典型用例、优缺点
- 总体架构:实例、进程和配置
实践:
- 互动探索:使用Mongo Shell/CLI连接
- 创建示例数据库和集合
模块2:安装与初始配置(6小时)
内容:
- 硬件和资源需求
- 在Linux(deb/rpm)、Windows和macOS上的安装
- YAML配置文件(mongod.conf):dataDir、logDir、bindIp、port
- 启动选项和systemd/服务管理
实践:
- 在本地虚拟机或Docker容器中部署实例
- 根据开发与生产环境调整配置
- 验证安全的远程连接
模块3:数据建模与基本操作(5小时)
内容:
- BSON文档、集合、数据库
- 建模:嵌入与引用;数据设计模式
- 基本索引(提前介绍)
- 使用Mongo Shell和驱动脚本示例进行操作
实践:
- 建模用例:库存或计费系统
- 实现CRUD操作
- 使用MongoDB中的JSON Schema进行模式验证
模块4:索引与性能(4小时)
内容:
- 简单、复合、多键、文本和地理空间索引
- 使用explain()并分析指标
- 索引对写入性能和内存的影响
实践:
- 使用测试数据创建集合
- 测试带索引和不带索引的查询;解释explain()结果
- 根据访问模式调整索引
模块5:安全性(5小时)
内容:
- 身份验证机制:SCRAM、LDAP/Kerberos(简介)
- 定义用户和自定义角色
- 客户端与服务器之间的TLS/SSL
- 静态加密:密钥配置
- 基本审计日志
实践:
- 创建具有最小权限的用户
- 在本地实例中配置TLS
- 验证未授权访问并检查审计日志
模块6:复制与高可用性(6小时)
内容:
- 复制概念:主节点、从节点、oplog
- 副本集配置:初始化、成员、仲裁
- 监控状态和选举
- 维护:添加/移除成员、重新分配优先级
实践:
- 部署三节点副本集(本地或虚拟机)
- 模拟主节点故障并观察故障转移
- 重建从节点并恢复副本
模块7:分片与水平扩展(6小时)
内容:
- 分片概念:分片键、配置服务器、mongos路由器
- 分片键选择及相关风险
- 部署配置服务器、分片和mongos
- 再平衡和块迁移
实践:
- 配置简单的分片集群
- 插入大规模数据并观察分布
- 引入分片键更改并了解限制
模块8:备份、恢复与灾难恢复(4小时)
内容:
- 原生工具:mongodump/mongorestore、文件系统快照
- 副本集和分片集群中的备份
- 使用Cloud Manager/Ops Manager进行备份的基本用法
- 灾难恢复(DR)规划:RTO、RPO
实践:
- 在测试数据库上执行备份和恢复
- 模拟故障并从备份中恢复
- 为假设案例设计灾难恢复计划
模块9:监控与告警(4小时)
内容:
- 工具:mongostat、mongotop、Cloud Manager/Atlas监控
- 与Prometheus + Grafana集成(概念和示例)
- 关键指标:CPU、内存、I/O、oplog大小、延迟
- 告警:定义阈值和通知
实践:
- 部署本地或基于容器的监控代理
- 使用示例指标设置基本仪表板
- 模拟负载并观察告警
模块10:维护、升级与最佳实践(4小时)
内容:
- 副本集和分片集群的升级策略
- 数据清理、压缩、完整性检查
- 查看日志和定期审计
- 自动化日常任务(脚本、cronjobs、Ansible、Terraform)
- 数据保留和归档策略
实践:
- 在受控环境中模拟次要和主要升级
- 创建用于备份和监控的自动化脚本
- 制定定期维护检查清单
总结与后续步骤
要求
- 了解数据库基本概念和数据结构
- 熟悉Linux命令行使用
- 具备网络和系统管理基础知识
目标学员
- 使用MongoDB的数据库管理员和系统工程师
- 部署和维护MongoDB环境的DevOps及基础设施团队
- 对MongoDB内部机制和部署最佳实践感兴趣的开发者
48 小时
客户评论 (2)
讲解和说话的节奏。
Marko Skokovic - PWO by Lottomatica Serbia
课程 - MongoDB for Administrators
机器翻译
Jose先生非常棒,他详细解释了每一个命令的细节。我们非常感谢他花时间与我们分享他的知识,这充分表明他是这个领域的专家。
Almer Laureta - Asialink Finance Corporation
课程 - MongoDB for Developers
机器翻译