当前位置: 首页 > news >正文

MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储

Windows系统实现多磁盘存储

  • 1.为什么
  • 2.多磁盘存储
    • 2.1 数据库配置
    • 2.2 文件夹磁盘映射
    • 2.3 创建新的数据集
  • 3.总结

1.为什么

这里仅针对只有一台Windows系统服务器的情景:

  • 当服务器存储不足时,或者要接入更多的数据,就会挂载新磁盘,那如何将数据存储在挂载的新磁盘上呢?
  • 当前服务器有多个大容量磁盘,MongoDB要存储的数据一个磁盘存储不够时如何处理?

这个时候就需要多磁盘存储了。

2.多磁盘存储

2.1 数据库配置

storage.directoryPerDB设置为true,这样设置的目的是每个数据库放在独立的文件夹内:

storage:dbPath: <string>journal:enabled: <boolean>commitIntervalMs: <num># 默认为false设置为truedirectoryPerDB: true

修改之前:

在这里插入图片描述
不同数据集的数据分布在多个文件里,设置后,添加了一个test数据集:

在这里插入图片描述

2.2 文件夹磁盘映射

创建数据集之前使用mklink创建映射,目的是MongoDB数据库的文件通过映射放置到其他磁盘下,我们以image为例进行说明:

  1. 非dbPath磁盘下创建一个目录

在这里插入图片描述

  1. 创建映射
# 语法
mklink /D LinkFolderName TargetFolderPath# 测试
mklink /D D:\mongodb\data\image E:\mongodb\data\imageC:\Users\Administrator>mklink /D D:\mongodb\data\image E:\mongodb\data\image
为 D:\mongodb\data\image <<===>> E:\mongodb\data\image 创建的符号链接

创建成功后,在dbPath目录下出现了一个类似快捷方式但是类型是文件夹的image目录:

在这里插入图片描述

要特别注意的是:目录符号链接不会在物理上复制文件,它们只是提供了一个不同名称的访问路径。文件仅存储在TargetFolderPath目录下也就是E:\mongodb\data\image目录下,这样,test库和image库就存储在不同的磁盘上了。

2.3 创建新的数据集

创建跟映射目录名称一致的新的数据集image,创建成功后可发现dbPath目录下有数据集的文件了,实际上并非在dbPath所在的磁盘,而是在映射目录的磁盘。

在这里插入图片描述

3.总结

仅适合非分布式,Windows多磁盘的场景,Linux未进行测试。

http://www.lryc.cn/news/172727.html

相关文章:

  • ruoyi框架使用自定义用户表登录
  • 计算机视觉与深度学习-卷积神经网络-卷积图像去噪边缘提取-卷积-[北邮鲁鹏]
  • JS手动实现发布者-订阅者模式
  • 【含面试题】MySQL死锁日志分析与解决的Java代码实现
  • 解决方案:TSINGSEE青犀+智能分析网关助力智慧仓储智能化监管
  • 进程间通信
  • Ubuntu 22.04.3 LTS安装
  • 记一次manjaro-i3系统sogoupinying候选词无法正常显示中文(变方框了)问题解决方案
  • Lua学习笔记:词法分析
  • flask服务鉴权
  • 【2023华为杯B题】DFT类矩阵的整数分解逼近(思路及代码下载)
  • 基于微信小程序的校园生活管理系统设计与实现(源码+lw+部署文档+讲解等)
  • SQL server 创建存储过程
  • 一文了解亚马逊云科技适用于 Amazon Lightsail 的托管数据库
  • 【antd Col】奇怪的TypeError: Cannot read properties of undefined (reading ‘then‘)
  • requests处理 multipart/form-data 请求以及 boundary值问题
  • FBX文件结构解读【文本格式】
  • JS基础语法
  • 【Zabbix监控一】zabbix的原理与安装
  • 图的十字链表存储结构
  • 精华回顾:Web3 前沿创新者在 DESTINATION MOON 共话未来
  • 【RPC】gRPC 安装及使用
  • Pygame中Sprite类的使用3
  • 23年下考前须知-软考中级信息安全工程师
  • 关于表单快速开发低代码技术平台的内容介绍
  • 比特币 ZK 赏金系列:第 1 部分——支付解密密钥
  • 【Python深度学习】深度学习中框架和模型的区别
  • MyBatis面试题(二)
  • Android之MediaMetricsService实现本质(四十二)
  • Flutter超好用的路由库-fluro