我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MongoDB与MySQL哪个好

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MongoDB与MySQL哪个好

本篇文章为大家展示了MongoDB与MySQL哪个好,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

什么是MySQL / MariaDB?

MySQL AB的Monty Widenius和David Axmark最初于1994年开始开发MySQL。产品名称中的“  My”是指Widenius的女儿,而不是英语单词“ my”。MySQL旨在与mSQL(又名Mini)兼容。  SQL),并添加了SQL查询层和开放源代码许可(实际上是专有和GPL双重许可)。MySQL的公共发行版于1996年底开始,并且每年或每两年持续发行一次。MySQL是当前最受欢迎的关系数据库。

Sun Microsystems于2008年以10亿美元的价格收购了MySQL  AB,Oracle于2010年收购了Sun。在Oracle收购MySQL的广泛关注中,Widenius在收购Oracle之前就将MySQL  5.5合并到了MariaDB中。MariaDB努力维护与Oracle MySQL版本的兼容性。

与功能更强大的商业关系数据库(例如Oracle数据库,IBM DB / 2和Microsoft SQL  Server)相比,MySQL最初是一个相当低端的关系数据库,尽管它足以成为动态网站的后备存储。多年来,它增加了您希望从关系数据库获得的大多数功能,包括事务,参照完整性约束,存储过程,游标,全文索引和搜索,地理索引和搜索以及群集。

尽管MySQL现在支持“大数据库”功能,例如主从部署,与Memcached一起使用以及水平分片,但它仍通常用于中小型部署。将MySQL扩展到多个从属服务器可以提高读取性能,但是只有主服务器才能接受写请求。

AWS提供了两种形式的MySQL即服务,即Amazon RDS和Amazon  Aurora。后者具有更高的性能,可以处理TB级的数据,更新副本的延迟时间更短,并且可以直接与Oracle数据库和SQL Server竞争。

什么是MongoDB?

MongoDB是高度可伸缩的操作文档数据库,可在开源版本和商业企业版本中使用,它可以在本地运行或作为托管云服务运行。托管云服务称为MongoDB  Atlas。

MongoDB无疑是NoSQL数据库中最受欢迎的数据库。它的文档数据模型为开发人员提供了极大的灵活性,而其分布式体系结构则提供了很好的可伸缩性。因此,通常选择MongoDB用于必须管理大量数据,得益于水平可伸缩性并处理不适合关系模型的数据结构的应用程序。

MongoDB是一个基于文档的存储,在其之上还具有一个基于图形的存储。MongoDB实际上并不存储JSON:它存储BSON(二进制JSON),该扩展了JSON表示(字符串)以包括其他类型,例如int,long,date,浮点,decimal128和地理空间坐标。

MongoDB可以使用数据的类型生成正确的索引类型,从而在数据的单个副本上生成多模式图形,地理空间,B树和全文本索引。MongoDB使您可以在任何文档字段上创建索引。MongoDB  4具有多文档事务,这意味着即使必须标准化数据设计,您仍然可以获得ACID属性。

默认情况下,MongoDB使用动态模式,有时称为无模式。单个集合中的文档不需要具有相同的字段集,并且字段的数据类型可以在集合中的不同文档之间有所不同。您可以随时使用动态模式更改文档结构。

但是,可以使用架构治理。从MongoDB 3.6开始,MongoDB支持JSON模式验证,您可以在验证器表达式中将其打开。

LAMP和MEAN堆栈

在LAMP和MEAN堆栈上存在很多变化。例如,您可以在Windows(WAMP)或MacOS(MAMP)上运行而不是Linux  OS。您可以运行IIS(WIMP),而不是Windows上的Apache Web服务器。

您可以运行PostgreSQL或SQL  Server,而不是LAMP堆栈中的MySQL关系数据库。如果您需要全球分布,则可以运行CockroachDB或Google Cloud  Spanner。可以使用Perl或Python代替PHP语言。如果要使用Java或C#进行编码,则需要考虑单独的堆栈系列。

您可以运行Couchbase或Azure Cosmos  DB以获得更好的全局分布,而不是MEAN堆栈中的MongoDB文档数据库。可以使用十二个Node.js Web服务器框架中的任何一个来代替Express  。除了AngularJS前端框架,您还可以运行Angular 2或React。

如何为您的应用程序选择数据库

选择数据库时要问的最重要的问题是:

  • 您希望在应用程序成熟时存储多少数据?

  • 您希望在高峰负载下同时处理多少个用户?

  • 您的应用程序需要什么可用性,可伸缩性,延迟,吞吐量和数据一致性?

  • 您的数据库架构多久更改一次?

  • 您的用户群体的地理分布是什么?

  • 您的数据的自然“形状”是什么?

  • 您的应用程序需要在线事务处理(OLTP),分析查询(OLAP)还是同时需要两者?

  • 您期望生产中的读写比例是多少?

  • 您需要地理查询和/或全文查询吗?

  • 您首选的编程语言是什么?

  • 你有预算吗?如果是这样,它将涵盖许可和支持合同吗?

这些问题中的几个会趋于缩小数据库的选择范围,但是与制定LAMP堆栈时相比,我们有更多选择。如果您要构建一个应用程序,并且该应用程序必须在99.999%的时间内对全世界的用户都具有高度的一致性,那么只有少数几个数据库适合您。如果您的应用程序将在工作日的上午9点至下午6点在一个国家/地区使用,并且可以容忍最终的一致性,那么几乎所有数据库都可以使用,尽管某些数据库对于开发人员和操作员而言更容易,而某些数据库则可以为您的主要使用场景提供更好的性能。

虽然LAMP和MEAN堆栈一次是Web应用程序的良好解决方案,但现在都不是最佳选择。而不是盲目采用任何一种,您应该仔细考虑用例,并找到一种可在可预见的将来为您的应用程序服务的体系结构。

SQL还是NoSQL?

您什么时候需要关系数据库(例如MySQL)用于新应用程序?除了对标准SQL的明显支持外,关系数据库本身将数据强制为具有一致的强类型字段的表格模式,并且只要您利用规范化就可以帮助您避免数据重复。

如果需要避免丢失数据,则可以NOT  NULL在创建或修改表时声明字段。如果您需要由开放地理空间联盟定义的地理查询,则大多数关系数据库都将提供可靠的实现。而且,如果您需要全文搜索,则大多数关系数据库都允许您在文本字段上定义倒排列表索引,FULLTEXT在MySQL中称为索引。

另一方面,如果您还需要偶尔的自由格式文档,则MySQL和许多其他关系数据库也支持RFC  7159定义的JSON数据。如果您还想使用XML文档和XPath或XSLT,则大多数关系数据库都可以提供这种能力。

您何时需要像MongoDB这样的文档数据库?如果您的主要用例需要允许使用自由格式的数据,在文档之间更改类型的字段,随时间变化的架构或嵌套的文档,则NoSQL数据库将满足要求。另外,如果您的应用程序是用JavaScript编写的,那么文档数据库的JSON格式将很自然。

上述内容就是MongoDB与MySQL哪个好,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MongoDB与MySQL哪个好

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql与sqlserver哪个好学

在学习难度上,mysql 入门容易,sql server 入门稍难;进阶学习上,mysql 相对容易,sql server 难度较大;具体优势方面:mysql 开源免费,社区活跃;sql server 功能更强,稳定性高。建议初学者或中小型
mysql与sqlserver哪个好学
2024-08-01

MySQL与PostgreSQL相比哪个更好?

网上已经有很多拿PostgreSQL与MySQL比较的文章了,这篇文章只是对一些重要的信息进行下梳理。在开始分析前,先来看下这两张图: MySQL MySQL声称自己是最流行的开源数据库。LAMP中的M指的就是MySQL。构建在LAMP上的
2022-05-21

mysql和sqlserver哪个好

无法明确地说 mysql 或 sql server 更好,具体取决于特定需求。mysql 开源且免费,而 sql server 专有且需要许可证费用。对于小数据库,mysql 和 sql server 性能不错,但对于大数据库,sql se
mysql和sqlserver哪个好
2024-04-05

mysql跟sqlserver哪个好

在功能、性能和成本方面,mysql 和 sql server 存在差异。mysql 是开源且更具扩展性,社区支持强劲。sql server 在事务处理和并发方面表现更佳。mysql 在许可和运营成本方面更低,而 sql server 则需要
mysql跟sqlserver哪个好
2024-04-14

redis和mysql哪个好

在数据库领域,redis 和 mysql 各有优势,适合不同的应用场景。redis 速度极快、数据结构灵活,适合高性能和低延迟的应用;mysql 适于处理结构化数据、具备事务支持和高级查询功能,适合报表和分析等场景。Redis 与 MySQ
redis和mysql哪个好
2024-04-08

oracle和mysql哪个好

oracle 和 mysql 在不同需求下表现不同:性能:oracle 性能更佳,适用于处理大量数据。可扩展性:oracle 更可扩展,可处理企业级数据集。成本:oracle 为专有软件,成本较高;mysql 为开源软件,免费使用。功能:o
oracle和mysql哪个好
2024-04-08

python与c++学哪个好

c++kquote>对于初学者,python 以其易于学习的语法而适合快速入门,而 c++ 以其高性能和内存管理适合需要效率的应用。具体而言,适合 python 的学习者包括编程初学者、对 web 开发或数据科学感兴趣的人,而适合 c++
python与c++学哪个好
2024-04-20

Numpy与Python哪个更好

这篇文章主要介绍“Numpy与Python哪个更好”,在日常操作中,相信很多人在Numpy与Python哪个更好问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Numpy与Python哪个更好”的疑惑有所帮助!
2023-06-16

Golang与Python选哪个好

这篇文章主要讲解了“Golang与Python选哪个好”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang与Python选哪个好”吧!  1.可扩展的业务  任何现代企业需要的首要事情
2023-06-02

c#与c++哪个更好

c++kquote>对于 c# 和 c++ 的对比,没有明确的“更好”。选择取决于需求:性能:c++ 提供卓越性能,而 c# 性能适中。可移植性:c# 是跨平台语言,c++ 跨平台性较低。语法:c# 语法易学,c++ 复杂、底层。社区:c+
c#与c++哪个更好
2024-04-04

编程热搜

目录