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

MongoDB:MySQL,Redis,ES,MongoDB的应用场景

简单明了说明MySQL,ES,MongoDB的各自特点,应用场景,以及MongoDB如何使用的第一章节.

一. SQL与NoSQL

        SQL被称为结构化查询语言.是传统意义上的数据库,数据之间存在很明确的关联关系,例如主外键关联,这种结构可以确保数据的完整性(数据没有缺失并且正确).但是正因为这种严密的结构使得扩展起来不方便,而且系统越膨胀,关系越复杂,如果遇到系统升级,数据量增加,数据表增加,程序员就该头痛了.

        如果把SQL称为正规化设计,那么NoSQL是反正规化设计,其中的数据没有关联,更容易扩展,数据模型更加的灵活,你甚至可以随时修改数据存储的结构.这样有违规范的设计,带来了数据扩充的便利性,在信息飞速发展的互联网时代,这真是每个程序员所需要的,但是由于这种缺少关联和规则,对数据的完整性就是它的一大缺点,正所谓有利有弊.

二.MySQL,Redis,ES,MongDB

1.MySQL应用场景

MySQL是典型的SQL代表,在数据结构比较固定,对数据完整性有严格要求的地方应该使用MySQL,例如商品库存,用户积分,用户个人信息等地方.

2.Redis应用场景

        前面提到的集中数据库,除了MySQL之外,其它的都属于NoSQL.

        Redis是键值对存储系统,通过Key进行数据的操作,通常是将数据存储在内存中,当然也可以做持久化,但是通常也没有太多必要,用来做数据持久化的数据库很多,而且比它好用,所以Reids通常用来做数据的缓存.因为是通过key进行数据的操作,并且存储在内存中,所以操作速度非常快,但是你也别往里面存很多数据,并且数据也要设置一个过期时间.

        Redis通常用来存储用户登录信息,例如token,根据明确id值查询的并且可能再同一个时间段内会被反复读取的数据.

3.ES应用场景

        ES是分布式搜索和分析引擎,大概类似于百度搜索,淘宝搜索一类的,它的作用是对大量数据进行快速检索,并且根据要求对检索出来的数据进行评分,你可以按照评分或者其它规则对其进行排序,并且它的数据存储采用主分片,父分片的形式.有利于做大数据的搜索功能.并且可以对数据进行聚合等操作.

        ES可以用于做一些低质量,大数据记录的检索功能,所谓低质量就是这些数据并不是要求很严密的或者说实时的,ES数据被称为准实时,也就是离实时数据还有不少差距.类似于信息检索,用户日志检索,商品检索数据可以放在ES中.

4.MongoDB以及应用场景

        MongoDB是本篇文章介绍的重点,让我多啰嗦几句.

        MongoDB是NoSQL中的文档形数据库,采用文档的形式存储数据,也就是将单个实体的所有数据都存储在文档中,而文档又存在集合中.MongoDB是半结构化的非关系型数据库,相当于是在NoSQL中混入了一个不坚定的叛徒.在MongoDB中有以下概念.这里只介绍了几个特殊之处.

       1.DataBase:不同与另外集中NoSQL,MongoDB有数据库的概念;大概等用于mysql中的数据库概念.

        2.集合:MongoDB是面向集合Collection进行存储的,这个相当于MySQL中的数据表;

        3.文档:Document是MongoDB存储数据的基本单元,相当于MySQL中的一个实体(也就是一行数据),MongoDB中的文档形式是一种叫做BSON的文本.

        4.MongoDB中也有MySQL中的视图,索引,存储过程,用户,字段的概念.字段相当于数据表的列,但是这个列可以弹性的增加或者减少.

        就是这样一个SQL与NoSQL结合起来的怪胎确实目前做系统开发经常用到的一种数据库,因为在实际应用中它的优点是其他数据库所不具备的.

2.4.1 MongoDB的文档

        MongoDB的数据是已文档的形式存储的,而文档是已BSON格式存储的,BSON是以JSON为基础经过改良好的一种文本格式,使用JSON的基本格式(例如:键值对,{},[]等),但是引入了新的数据类型,例如日期ObjectId等.但是BSON会占用更大的空间,以此来换取更快的查询速度,典型的以空间换取时间模式.

 2.4.2 MongoDB的特征

        SQL具有ACID(原子性,一致性,隔离性和持久性),NoSQL具有BASE(基本可用性,可伸缩性,最终一致性),而MongoDB在NoSQL的基础上增加了原子性和事务.

2.4.3 MongoDB的应用场景

        鉴于MongoDB的这些特性,它可以用来处理大量的低价值数据,并且对数据处理性能要求比较高,而且还可能存在数据结构需要高度的伸缩性.

        通俗来说,就是处理一些数据量多,而且数据相关度不高,不存在需要很高的准确性(例如实时的库存),数据格式可能会有变化,并且还对数据的操作要求响应比较快.那么哪些场景符合这些特征了?

        例如:用户评论,评分,商品详情,这类信息.

三. MongoDB的安装

3.1 安装MogoDB Server

这个比较简单,下载社区版,直接安装,没有什么特别需要注意的地方.

http://MongoDB 社区版

3.2 下载  MogoDB Shell

MogoDB Shell可以使用命令操作MongoDB,下载之后直接可以用,建议放在MongoDB安装文件夹里面,以免找不到.

MongoDB Shell

3.3 使用Navicat Premium连接数据库

和连接MySQL差不多,用Navicat操作MongoDB比较方便.

四.创建MongoDB的登录用户

        在下载的MongoDB Shell中找到 mongosh-1.10.4\bin\mongosh.exe 文件,双击运行.显示一个DOS窗口,打开后敲回车(使用默认连接方式).输入以下命令:

use admin

连接到admin数据库,这个数据库可以让你创建用户.然后再输入下面的命令:

db.createUser({user:"<用户名>",pwd:"<密码>",roles:["root"]})

输入的时候替换<>的内容,包括<>.这样就可以创建用户名和密码了.

创建用户名和密码之后,还需要修改一个配置.打开

C:\Program Files\MongoDB\Server\6.0\bin\mongod.cfg 这个文件,并且新增下面的配置:

#security:
security:authorization: enabled

  好了,MongoDB的用户名就已经创建好了.

        

相关文章:

MongoDB:MySQL,Redis,ES,MongoDB的应用场景

简单明了说明MySQL,ES,MongoDB的各自特点,应用场景,以及MongoDB如何使用的第一章节. 一. SQL与NoSQL SQL被称为结构化查询语言.是传统意义上的数据库,数据之间存在很明确的关联关系,例如主外键关联,这种结构可以确保数据的完整性(数据没有缺失并且正确).但是正因为这种严密的结…...

leetcode每日一题_2682.找出转圈游戏输家

2682.找出转圈游戏输家 题目: n 个朋友在玩游戏。这些朋友坐成一个圈&#xff0c;按 顺时针方向 从 1 到 n 编号。从第 i 个朋友的位置开始顺时针移动 1 步会到达第 (i 1) 个朋友的位置&#xff08;1 < i < n&#xff09;&#xff0c;而从第 n 个朋友的位置开始顺时针移…...

OpenCV之薄板样条插值(ThinPlateSpline)

官方文档&#xff1a;OpenCV: cv::ThinPlateSplineShapeTransformer Class Reference 使用方法&#xff1a; 头文件&#xff1a;#include <opencv2/shape/shape_transformer.hpp> &#xff08;1&#xff09;点匹配 一般根据有多少个样本&#xff08;或者点&#xff09;…...

034_小驰私房菜_[问题复盘] Qcom平台,某些三方相机拍照旋转90度

全网最具价值的Android Camera开发学习系列资料~ 作者:8年Android Camera开发,从Camera app一直做到Hal和驱动~ 欢迎订阅,相信能扩展你的知识面,提升个人能力~ 【一、问题】 某些三方相机,预览正常,拍照旋转90度 【二、问题排查】 1 ) HAL这边Jpeg编码数据在哪个地方…...

【TI-CCS笔记】工程编译配置 bin文件的编译和生成 各种架构的Post-build配置汇总

【TI-CCS笔记】工程编译配置 bin文件的编译和生成 各种架构的Post-build配置汇总 TI编译器分类 在CCS按照目录下 有个名为${CG_TOOL_ROOT}的目录 其下就是当前工程的编译器 存放目录为&#xff1a; C:\ti\ccs1240\ccs\tools\compiler按类型分为五种&#xff1a; ti-cgt-arm…...

深入探索Java中的File类与IO操作:从路径到文件的一切

文章目录 1. File类的作用与构造方法2. File类常用方法&#xff1a;获取、判断和创建2.1 获取功能方法2.2 判断功能方法2.3 创建和删除功能方法2.4 目录的遍历方法 3. 递归&#xff1a;探索更深的层次代码示例&#xff1a;递归遍历文件夹 结论 &#x1f389;欢迎来到Java学习路…...

Python 处理 Excel 表格的 14 个常用操作

目录 1. 安装依赖库 2. 导入库 3. 读取Excel文件 4. 写入Excel文件 5. 创建工作表 6. 访问工作表 7. 读取单元格数据 8. 写入单元格数据 9. 获取行数和列数 10. 过滤数据 11. 排序数据 12. 添加新行 13. 删除行或列 14. 计算汇总统计 总结 无论是数据分析师、财…...

PyQt有哪些主要组件?

这是一个非常强大的跨平台GUI库&#xff0c;可以让你用Python语言创建美观且功能强大的桌面应用程序。让我们先来了解一下它的主要组件。 首先&#xff0c;我们要介绍的是窗口。窗口是PyQt应用程序的基本元素&#xff0c;所有的GUI元素都放置在窗口中。你可以创建主窗口、模态…...

力推C语言必会题目终章(完结篇)

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 今天是分享C语言必会题目最终章&#xff0c;全部都是硬货&#xff0c;大家都坐好准备开始喽&#xff01;&#xff01;&#xff01; 编写一个函数&#xff0c;计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内…...

CS5263替代停产IT6561连接DP转HDMI音视频转换器ASL 集睿致远CS5263设计电路原理图

ASL集睿致远CS5263是一款DP1.4到HDMI2.0b转换器芯片&#xff0c;设计用于将DP1.4源连接到HDMI2.0b接收器。 CS5263功能特性&#xff1a; DP接口包括4条主通道、辅助通道和HPD信号。接收器支持每通道5.4Gbps&#xff08;HBR2&#xff09;数据速率。DP接收机结合了HDCP1.4和HDCP…...

数据分析 | 随机森林如何确定参数空间的搜索范围

1. 随机森林超参数 极其重要的三个超参数是必须要调整的&#xff0c;一般再加上两到三个其他超参数进行优化即可。 2. 学习曲线确定n_estimators搜索范围 首先导入必要的库&#xff0c;使用sklearn自带的房价预测数据集&#xff1a; import numpy as np import pandas as pd f…...

5G+AI数字化智能工厂建设解决方案PPT

导读&#xff1a;原文《5GAI数字化智能工厂建设解决方案》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。数字化智能工厂定义 智能基础架构协同框架 - 端、边、云、网…...

Windows配置编译ffmpeg +音视频地址

Windows配置MinGW及MinGW-make使用实例 https://blog.csdn.net/Henoiiy/article/details/122550618 ffmpeg安装遇错&#xff1a;nasm/yasm not found or too old. Use --disable-x86asm for a crippled build. https://blog.csdn.net/sayyy/article/details/124337834https://…...

C语言 常用工具型API --------system()

函数名&#xff1a; system&#xff08;&#xff09; 用 法&#xff1a; int system(char *command); 原理&#xff1a; 加载一个子进程去执行指定的程序&#xff0c;而想Linux命令基本都是一个单独的进程实现的&#xff0c;所以你所掌握的Linux命令越多&#xff0c;该函数功…...

车规级半导体分类(汽车芯片介绍)

车规级半导体&#xff0c;也被称为“汽车芯片”&#xff0c;主要应用于车辆控制装置、车载监控系统和车载电子控制装置等领域。这些半导体器件主要分布在车体控制模块上&#xff0c;以及车载信息娱乐系统方面&#xff0c;包括动力传动综合控制系统、主动安全系统和高级辅助驾驶…...

opencv图像轮廓检测

效果展示&#xff1a; 代码部分&#xff1a; import cv2 import numpy as np img cv2.imread(C:/Users/ibe/Desktop/picture.PNG,cv2.IMREAD_UNCHANGED) # 类型转换 img cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 结构元 kernel cv2.getStructuringElement(cv2.MORPH_REC…...

诚迈科技荣膺小米“最佳供应商奖”

近日&#xff0c;诚迈科技受邀参加小米战略合作伙伴HBR总结会。诚迈科技以尽职尽责的合作态度、精益求精的交付质量荣膺小米公司颁发的最佳供应商奖&#xff0c;其性能测试团队荣获优秀团队奖。 诚迈科技与小米在手机终端方向一直保持着密切的合作关系&#xff0c;涉及系统框架…...

分布式 - 消息队列Kafka:Kafka 消费者的消费位移

文章目录 01. Kafka 分区位移02. Kafka 消费位移03. kafka 消费位移的作用04. Kafka 消费位移的提交05. kafka 消费位移的存储位置06. Kafka 消费位移与消费者提交的位移07. kafka 消费位移的提交时机08. Kafka 维护消费状态跟踪的方法 01. Kafka 分区位移 对于Kafka中的分区而…...

H3C QoS打标签和限速配置案例

EF&#xff1a;快速转发 AF&#xff1a;确保转发 CS&#xff1a;给各种协议用的 BE&#xff1a;默认标记(尽力而为) VSR-88-2 出口路由配置&#xff1a; [H3C]dis current-configuration version 7.1.075, ESS 8305 vlan 1 traffic classifier vlan10 operator and if-match a…...

带curl的docker镜像image

带curl的docker镜像&#xff0c;便于k8s中查找问题&#xff0c;确认容器内部是否可用。 用于测试网络的工具&#xff0c;带有curl nslookup等命令 镜像名docker.io/appropriate/curl 测试命令docker run --rm -it docker.io/appropriate/curl /bin/sh 已测试可用 用于测试网…...

特征对高效数值算法及在船舶轴系振动计算中的应用【附仿真】

✨ 长期致力于特征值与特征向量、对称三对角矩阵、振动计算、船舶推进轴系、并行计算研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;分治并行三对角特…...

Kubernetes核心知识点

1.ca-certificates,gnupg,lsb-release三个包的解释. ca-certificates是系统内置的权威根整数数据包&#xff0c;可以让系统正常识别并信任各类网站&#xff0c;避免出现证书异常与访问失败问题。 gnupg是开源的加密与签名校验工具&#xff0c;可用于导入第三方软件源公钥&#…...

加密货币社区 Google 官方邮件钓鱼威胁机理与防御体系研究

摘要 2026 年 5 月&#xff0c;加密货币社区出现依托 Google 官方邮件通道实施的高级钓鱼攻击&#xff0c;比特币开发者 Jameson Lopp 公开预警&#xff0c;该攻击通过伪装系统安全提示、篡改发件人显示名、滥用可信邮件基础设施&#xff0c;使传统安全告警失效&#xff0c;对新…...

当你的BERT模型被‘下毒’了怎么办?聊聊NLP后门攻击的实战检测与防御(附ONION、T-Miner工具实操)

当BERT模型遭遇后门攻击&#xff1a;一线工程师的检测与防御实战指南 在部署基于BERT的文本分类服务时&#xff0c;许多团队会忽略一个潜在威胁——模型可能已在训练阶段被植入后门。这类攻击极其隐蔽&#xff1a;模型对正常输入表现完美&#xff0c;但当遇到特定触发词&#x…...

NGSIM数据集:如何成为自动驾驶算法开发的‘黄金标准’测试集?

NGSIM数据集&#xff1a;自动驾驶算法开发的黄金标准与实战指南 在自动驾驶技术快速迭代的今天&#xff0c;算法验证的可靠性直接决定了系统落地的安全性。而NGSIM数据集凭借其0.1秒级高精度采样和真实人类驾驶行为记录&#xff0c;已成为行业公认的算法测试基准。不同于合成数…...

GNSS数据处理避坑指南:为什么你的PPP精度总上不去?可能是SP3和CLK文件用错了

GNSS数据处理避坑指南&#xff1a;为什么你的PPP精度总上不去&#xff1f;可能是SP3和CLK文件用错了 当你花费数小时运行PPP解算&#xff0c;却发现定位结果始终达不到预期精度时&#xff0c;那种挫败感我深有体会。作为从事高精度GNSS数据处理多年的工程师&#xff0c;我见过太…...

2025届学术党必备的五大AI论文平台解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 针对AI写作工具标题的创作&#xff0c;要精准去把握目标客户的核心需求&#xff0c;目标客户…...

RT-Thread裁剪实战:从98KB到28KB的嵌入式系统瘦身指南

1. 项目概述&#xff1a;为什么我们需要裁剪RT-Thread&#xff1f;如果你是一名嵌入式软件工程师&#xff0c;或者正在学习RT-Thread&#xff0c;那么“裁剪”这个词对你来说一定不陌生。RT-Thread作为一款优秀的国产开源实时操作系统&#xff0c;其标准版&#xff08;或称完整…...

Cursor Free VIP:三合一解决方案彻底解决AI编辑器使用限制

Cursor Free VIP&#xff1a;三合一解决方案彻底解决AI编辑器使用限制 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your…...

视觉驱动的空间碎片智能感知方法【附数据】

✨ 长期致力于空间碎片、智能感知、图像融合、显著性检测、目标识别研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;像素级图像融合的低照度增强方法&…...