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

Java研学-MongoDB(一)

一 MongoDB 简介

  MongoDB是一种高性能、开源的NoSQL数据库,采用面向文档的存储模型,以BSON(Binary JSON)格式存储数据,具有灵活的数据模型、强大的扩展性和丰富的功能特性,广泛应用于各类现代应用程序的数据存储和处理场景。

MongoDBSQL解释/说明
DatabaseDatabase数据库,用于存储和组织数据的基本容器,两者在概念上完全对应。
CollectionTable集合,MongoDB 中用于存储文档的容器,类似于 SQL 中的表,但结构更加灵活。
DocumentRow文档,MongoDB 中的数据记录单位,以 BSON 格式存储,类似于 SQL 中的行,但支持嵌套和数组等复杂结构。
FieldColumn字段,MongoDB 文档中的键值对,表示数据的具体属性,类似于 SQL 中的列。
IndexIndex索引,用于加速查询操作,MongoDB 和 SQL 都支持索引,但实现方式和类型可能有所不同。
不直接支持表连接(Table Joins)MongoDB 不支持 SQL 中的表连接操作,但可以通过嵌入文档或引用字段来实现类似的功能。
嵌入文档(Embedded Documents)无直接对应MongoDB 允许在文档中嵌入其他文档,这种设计可以替代 SQL 中的多表连接,提高查询效率。
主键(Primary Key)主键(Primary Key)MongoDB 自动为每个文档生成 _id 字段作为主键,确保文档的唯一性,类似于 SQL 中需要手动定义的主键。

二 业务应用场景

  在数字化浪潮下,传统关系型数据库(如 MySQL)面对数据操作的“三高”需求及 Web2.0 网站特性,逐渐力不从心。

High Performance(高性能):需具备应对高并发读写的能力,保障系统响应速度与用户体验。Huge Storage(海量存储):要实现海量数据的高效存储与访问,确保数据规模增长时性能不降。High Scalability && High Availability(高可扩展性与高可用性):能灵活扩展以适应业务发展,且具备高容错能力,保障服务连续稳定。

  面对数据量大,读写操作频繁,对事务性要求不高的数据,我们更适合使用MongoDB来实现数据的存储。MongoDB 凭借优势可应对“三高”需求,在多场景中发挥重要作用:

社交场景:适配用户信息与动态的多样结构,借灵活文档模型存储资料、标签及动态,凭地理位置索引精准定位附近用户,如 Soul 借此增强用户粘性。电商场景:文档模型适配商品信息多样性,借强大查询功能处理业务逻辑,如京东用于商品推荐以提升转化率。物流场景:利用内嵌数组存储订单全生命周期状态变更记录,支持一次查询获取完整状态,如中通快递用于客户查询与流程优化。物联网场景:以分布式架构应对设备海量数据,通过灵活查询满足多维度分析需求,如智能水务系统存储用水数据辅助管理。

三 Windows 部署

  ① 官网选择所需版本下载,此处选择zip格式。
在这里插入图片描述
  ② 解压后bin目录同级,创建数据存放目录\data\db,创建日志存放目录\logs并创建mongo.log文件,创建一个配置文件mongo.conf


  ③ 于bin目录中打开cmd,启动mongodb,根据自身存放路径进行修改

# 启动 MongoDB 数据库服务器,并指定使用一个特定的配置文件来配置 MongoDB 的运行参数。
mongod --config "E:\Kingsoft\mongodb-win32-x86_64-windows-8.0.9\mongo.conf"
# 启动 MongoDB 数据库服务器,并明确指定数据库文件的存储路径。
mongod --dbpath E:\Kingsoft\mongodb-win32-x86_64-windows-8.0.9\data\db

  ④ MongoDB 6.0 后做出了重大改变,MongoDB 不再默认安装shell 工具,因此需要到官网安装一个额外的shell,也就是mongosh
在这里插入图片描述
  ⑤ 解压 mongosh,于该解压目录下的bin目录启动cmd进行链接,老版本不需下载使用mongo命令即可(非mongosh的bin目录)

# 新版本
mongosh# 老版本
mongo

四 Linux 部署

1 安装

  ① 官网下载压缩包(tgz格式)
在这里插入图片描述
  ② 上传至Linux服务器解压,可通过Xshell中的Xftp功能,并移动到指定文件夹中
在这里插入图片描述

# 解压
tar -xvf mongodb-linux-x86_64-rhel70-7.0.20.tgz
# 移动 此时文件夹名称重命名为mongodb
mv mongodb-linux-x86_64-rhel70-7.0.20 /usr/local/mongodb

  ③ 新建数据存放目录与日志存放目录

# 数据存储目录
mkdir -p /mongodb/single/data/db# 日志存储目录
mkdir -p /mongodb/single/log

  ④ 新建配置文件

vi /mongodb/single/mongod.conf
# 系统日志设置
systemLog:# MongoDB 发送所有日志输出的目标指定为文件-持久化destination: file# mongod 或 mongos 应向其发送所有诊断日志记录信息的日志文件的路径path: "/mongodb/single/log/mongod.log"# 当 mongos 或 mongod 实例重新启动时,mongos 或 mongod 会将新条目附加到现有日志文件的末尾logAppend: true# 存储设置
storage:# mongod 实例存储其数据的目录。storage.dbPath 设置仅适用于 mongoddbPath: "/mongodb/single/data/db"  # 修正了路径格式# journal: # 默认启用# 启用或禁用持久性日志以确保数据文件保持有效和可恢复,默认启用# enabled: true# 进程管理设置
processManagement:# 启用在后台运行 mongos 或 mongod 进程的守护进程模式fork: true# 网络设置
net:# 服务实例绑定的 IP,默认是 localhost,配置局域网IP后可远程访问,通过ifconfig查询bindIp: localhost,192.168.44.128# 指定的端口,默认是 27017port: 27017

  ⑤ 启动 MongoDB 服务,successfully表示启动成功

# -f 参数指定了配置文件的位置
/usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf

  ⑥ 测试远程连接
在这里插入图片描述
  ⑦ 若远程连接不上,需要配置防火墙放行

# 查看防火墙状态
sudo systemctl status firewalld
# 临时关闭防火墙
sudo systemctl stop firewalld
# 开机禁止启动防火墙
sudo systemctl disable firewalld

  ⑧ 关闭进程

# 查看端口号
ps -ef | grep mongod# 结束进程 -2 优雅终止 -9 强制终止
kill -2 进程号

相关文章:

  • 什么是 TOML?
  • [Windows] 本地无损放大软件-realesrgan-gui
  • 3D-激光SLAM笔记
  • 使用VSCode在WSL和Docker中开发
  • 小程序使用npm包的方法
  • 【HTML】基础学习【数据分析全栈攻略:爬虫+处理+可视化+报告】
  • LeetCode - 21. 合并两个有序链表
  • Correlations氛围测试:文本或图像的相似度热图
  • [面试精选] 0206. 反转链表
  • 二叉搜索树——AVL
  • Redisson学习专栏(四):实战应用(分布式会话管理,延迟队列)
  • 机器视觉2D定位引导一般步骤
  • C++基础算法————深度优先搜索(DFS)
  • 高考加油!UI界面生成器!
  • B3623 枚举排列(递归实现排列型枚举)
  • python魔法函数
  • 【基础算法】模拟算法
  • @PathVariable注解-补充
  • Python实现P-PSO优化算法优化卷积神经网络CNN分类模型项目实战
  • 【Java实战】低侵入的线程池值传递
  • b站视频播放量网站/推广软件一键发送
  • 保定网站建设/百度网盘官网网页版
  • php语言网站开发/seo是什么seo怎么做
  • 网站seo谷歌/5118
  • 深圳 电子政务网站建设方案/正规微商免费推广软件
  • 做软件工资高还是网站/灰色词seo排名