MySQL 与MongoDB区别

news2024/11/26 23:29:36

一、什么是MongoDB呢 ?

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档是一种BSON类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

二、特点

MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库(另称文档型数据库),是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。

三、关系型数据库-MySQL

在不同的引擎上有不同的存储方式。
查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增加,mysql的份额页在持续增长。
缺点就是在海量数据处理的时候效率会显著变慢。

四、非关系型数据库-MongoDB

非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性,呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。
存储方式:虚拟内存+持久化。

查询语句:是独特的MongoDB的查询方式。
适合场景:事件的记录,内容管理或者博客平台等等。

架构特点:可以通过副本集,以及分片来实现高可用。

数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。

成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。

五、MongoDB优势与劣势

优势:

在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。
MongoDB的高可用和集群架构拥有十分高的扩展性。
在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。
MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询。

劣势:

不支持事务操作。MongoDB本身没有自带事务机制,若需要在MongoDB中实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。
应用经验少,由于NoSQL兴起时间短,应用经验相比关系型数据库较少。
MongoDB占用空间过大。
下面是Mysql和mongoDB的对比:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/835294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【高危】Apache NiFi 远程资源检索功能存在命令注入漏洞

漏洞描述 Apache NiFi 是一个开源的数据流处理和自动化工具。 Apache NiFi 1.23.0之前版本中包含使用 HTTP URL 进行远程资源检索的 Processors 和 Controller Services,但是未限制普通身份用户配置此功能。经过身份验证的攻击者可配置恶意的外部资源引用地址&…

现场直击!飞凌嵌入式亮相第13届配电技术应用论坛

2023年8月3日,第十三届配电技术应用论坛在杭州开幕,飞凌嵌入式携多款重量级产品及热门方案亮相本届论坛,展位号A49。 飞凌嵌入式作为专注嵌入式核心控制系统研发、设计和生产的高新技术企业,与来自全国各地的行业伙伴共同分享市场…

打破思维定势,头脑风暴必备的3个模板!

在日常工作和生活中,我们常常陷入思维定势,无法找到新的解决方案或创意。而头脑风暴的好处在于它能够打破这种思维定势,激活我们的创造力和想象力,找到新的思路和解决问题的方法。 借由多人参与的头脑风暴,我们可以集思…

[IDEA]使用idea比较两个jar包的差异

除了一些小工具外,idea自带了jar包比较的功能。 把需要比对的jar包放到任意目录下,然后选中两个需要比较的jar包,右键,选择Compare Archives,然后就可以比较了。 这次疏忽了,每次打包前需要commit界面看一下…

数制与码制

用0和1可以组成二进制数表示是数量的大小,也可以表示对立的两种逻辑状态。数字系统中常用二进制数来表示数值。 在微处理器、计算机和数据通信中,采用十六进制。任意一种格式的数可以在十六、二和十进制之间相互转换。 二进制数有加、减、乘、除四种运算…

常用SQL语句总结

SQL语句 文章目录 SQL语句1 SQL语句简介2 DQL(数据查询语句)3 DML(数据操纵语句)4 DDL(数据定义语句)5 DCL(数据控制语句)6 TCL(事务控制语句) 1 SQL语句简介…

【数据结构】二叉树 链式结构的相关问题

本篇文章来详细介绍一下二叉树链式结构经常使用的相关函数,以及相关的的OJ题。 目录 1.前置说明 2.二叉树的遍历 2.1 前序、中序以及后序遍历 2.2 层次遍历 3.节点个数相关函数实现 3.1 二叉树节点个数 3.2 二叉树叶子节点个数 3.3 二叉树第k层节点个数 3…

Crack:CAD Exchanger SDK 3.20 Web Toolkit 应用

在CAD Exchanger SDK 版本 3.20.0中,我们在 Web Toolkit 中包含了绘图、BIM 和 MCAD 查看器的示例,以展示如何使用每个工具可视化数据。这些查看器具有显示不同类型数据的特定功能,允许用户根据自己的需求单独使用它们。我们将继续增强每个查…

HTTP隧道识别与防御:机器学习的解决方案

随着互联网的快速发展,HTTP代理爬虫已成为数据采集的重要工具。然而,随之而来的是恶意爬虫对网络安全和数据隐私的威胁。为了更好地保护网络环境和用户数据,我们进行了基于机器学习的HTTP代理爬虫识别与防御的研究。以增强对HTTP代理爬虫的识…

【云原生】详细学习Docker-Swarm部署搭建和基本使用

个人主页:征服bug-CSDN博客 kubernetes专栏:云原生_征服bug的博客-CSDN博客 目录 Docker-Swarm编排 1.概述 2.docker swarm优点 3.节点类型 4.服务和任务 5.路由网格 6.实践Docker swarm 1.概述 Docker Swarm 是 Docker 的集群管理工具。它将 Doc…

百度智能云“千帆大模型平台”最新升级:接入Llama 2等33个模型!

今年3月,百度智能云推出“千帆大模型平台”。作为全球首个一站式的企业级大模型平台,千帆不但提供包括文心一言在内的大模型服务及第三方大模型服务,还提供大模型开发和应用的整套工具链,能够帮助企业解决大模型开发和应用过程中的…

适配器模式(AdapterPattern)

适配器模式 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 优缺点 优点: 单一职责原则。你可以将接口或数据转换代码从程序主要业务逻辑中分…

硬件产品经理:硬件版本管理必不可少

目录 内容简介 工程变更单 文件夹结构、文件命名约定和部件号 硬件持续集成(快速原型设计) 结论 推荐学习 相关内容 个人简介 内容简介 今天就来谈谈版本管理这个话题。 在做产品的过程中: 有效的版本控制,以及适当的工…

pdf只读模式改成可编辑模式

pdf文件打开之后是只读模式,这个是因为设置了限制编辑,想要将PDF只读模式改为可编辑模式,我们只需要取消限制编辑就可以了。 不过也有可能是因为有些是阅读、编辑一体的PDF阅读器,这种可能需要我们手动转换一下模式。 取消PDF限…

[Linux]计算机软硬体系结构

[Linux]计算机软硬体系结构 文章目录 [Linux]计算机软硬体系结构冯诺依曼体系结构冯诺依曼体系结构的组成冯诺依曼体系结构中各部件的功能对存储器(内存)的理解对数据流的理解 了解操作系统操作系统的概念管理的概念管理的本质管理的精髓“先描述,再组织”计算机软硬…

工业RFID系统故障的排查与维护手册

在工业领域中,RFID系统扮演着至关重要的角色,用于实现物品追踪、自动化控制和生产流程优化。然而,由于复杂的工作环境和设备运行条件,RFID系统故障可能会发生,对工业生产造成不利影响。为了帮助您排查和解决RFID系统故…

企业微信v4.1.8 版本新功能介绍

一、效率工具与基础体验优化 邮件 1、邮件安全 当邮件发件人、邮件内容存在风险时,将提示风险并自动隐藏邮件中的图片,避免轻信邮件内容。 对存在伪造风险的昵称将直接以发件地址代替展示,减少误导。 对邮件中的包含钓鱼欺诈、病毒或恶意软…

Java:Arrays类的API

Arrays // 1、public static string toString(类型[] arr):返回数组的内容 int[] arr {10,20,30,40,50,60}; system.out.println(Arrays.tostring(arr));//[10,20,30,40,50,60]// 2、public static类型[] copyOfRange(类型[] arr,起始索引,结束索引)﹔拷…

U 盘安装 Windows 10/11 时找不到磁盘驱动器的解决方法

1. 问题 使用 U盘安装 Windows10/11 的时候到选择安装位置时发现列表是空的无法选择任何驱动器。 2. 解决方法 (1) 点击下载安装 Intel Rapid Storage Technology (IRST) 驱动程序; (2) 在 U盘启动盘中创建名为 driver 的文件夹; (3) 将下载好的驱…