玩转MongoDB4.0(最新版) 从入门到实践

114 阅读3分钟

入门篇

# 全面掌握MongoDB4.0 完成从小白到达人的蜕变完结无密

上方URL获取资源

  • MongoDB 4.0 简介:MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能丰富、类似关系数据库的高性能 NoSQL 数据库。它将数据存储为文档,数据结构由键值对组成,文档类似于 JSON 对象,字段值可包含其他文档、数组及文档数组,数据结构支持灵活。

  • 安装与配置

    • Windows 平台:登录 MongoDB 官网下载安装包,进行傻瓜式安装。
    • Linux 平台:以 CentOS 7 为例,先创建资源文件sudo vim /etc/yum.repos.d/mongodb-org-4.0.repo,编辑内容后运行sudo yum install -y mongodb-org安装 MongoDB。安装完成后,编辑mongod.conf文件将net:bindIp: 127.0.0.1改为0.0.0.0以允许远程连接,最后使用systemctl start mongod等命令启动、关闭或重启服务。
  • 基本操作

    • 进入 MongoDB:在命令行输入mongo即可进入 MongoDB 服务。

    • 创建数据库:使用use database_name命令,如果数据库不存在则创建,否则切换到指定数据库。使用show dbs可查询数据库列表。

    • 创建用户:例如在admin数据库创建管理员用户db.createUser({ user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

进阶篇

  • 数据操作

    • 文档操作:包括插入、更新、删除、基本查询、条件查询、正则表达式查询、内嵌文档查询、数据校验、原子性操作等。
    • 集合操作:集合管理、固定集合等操作。
    • 索引创建:有单字段索引、复合索引、TTL 索引、全文本索引、地理空间索引、哈希索引等。
    • 聚合操作:如$group$project$sort$skip$limit$match$lookup$count$unwind$out等操作。
  • 事务支持:MongoDB 4.0 引入了跨文档事务支持,但存在最大修改限制(如 16MB)和事务执行时间不能过长的限制。在复杂业务场景中使用事务时,要注意其局限性。

  • 复制集与分片集群

    • 复制集:用于实现数据冗余和高可用性,可保证在部分节点故障时系统仍能正常运行。

    • 分片集群:用于处理大规模数据和高并发场景,将数据分散存储在多个节点上,提高系统的存储和读写能力。

实践篇

  • 应用场景实践

    • 内容管理系统:存储文章、页面等内容数据,利用其文档存储特性方便管理不同结构的内容。
    • 用户生成内容平台:如社交平台中用户发布的帖子、评论等数据,能灵活存储和扩展。
    • 实时数据处理:结合 Spark 等框架,对实时产生的数据进行处理和分析。
  • 性能优化

    • 索引优化:根据查询需求创建合适的索引,提高查询性能。
    • 数据模型优化:设计合理的数据模型,减少冗余和不必要的查询。
    • 硬件优化:根据业务需求合理配置服务器硬件资源,如内存、CPU 等。
  • 监控与维护

    • 监控工具:使用 MongoDB 自带监控工具、Mongo Shell 中的监控指令或第三方监控工具对数据库进行监控。
    • 备份与恢复:了解逻辑备份 / 恢复和物理备份 / 恢复的常用命令和方案,定期对数据进行备份,防止数据丢失。