MySQL MySQL和MongoDB区别

MySQL 和 MongoDB 是用于企业应用程序的两个最流行的数据库。尽管这两个数据库都是免费和开源的,但它们也有很多不同之处。在本节中,我们将根据各种参数比较 MySQL 和 MongoDB 数据库系统之间的差异。

一、什么是 MySQL?

MySQL 是用于管理关系数据库的流行数据库管理系统。它是由Oracle公司支持的开源数据库软件。与 Microsoft SQL Server 和 Oracle 数据库相比,它是快速、可扩展且易于使用的数据库管理系统。它通常与PHP脚本一起用于创建功能强大且动态的服务器端或基于 Web 的企业应用程序。

MySQL由瑞典公司MySQL AB开发和支持,并用C和 C++ 编程语言编写。许多大大小小的公司都使用 MySQL。MySQL 支持使用 C、 C++和 Java 语言的许多操作系统,如 Windows、Linux、MacOS 等。

二、什么是 MongoDB?

MongoDB 是一个开源、跨平台、面向文档的 NoSQL 数据库,提供高性能、大容量数据存储、丰富的查询语言和自动扩展。它是用 C++ 编写的,由一家名为10gen的公司开发和维护。它简单,易于开发人员使用和学习。它以类似 JSON 的格式存储数据。MongoDB 旨在处理集合和文档的概念。

MongoDB 支持许多操作系统,如 Windows、Linux、MacOS 等,使用 C、C++、PHP、Node.js、Python、Java和 Ruby 语言。使用MongoDB数据库的主要目的是它的快速开发特性、大数据支持、灵活部署和易于使用。

让我们看下面的对比图,了解 MySQL 和MongoDB的本质区别。

三、MySQL 与 MongoDB

比较维度 MySQL MongoDB
定义 它是由瑞典公司 MYSQL AB 构建的开源跨平台关系数据库管理系统,目前由 Oracle 提供支持。 它是由 MongoDB Inc. 开发和拥有的流行的开源 NoSQL 数据库管理系统,以类似 JSON 的格式存储数据。
发行时间 它于 1995 年 5 月 23 日发布。 它于 2009 年 2 月 11 日发布。
开发语言 它是用 C 和 C++ 编写的。 它是用 C、C++ 和 Java 编写的。
数据库结构 MySQL 将每条记录存储在表中,并且可以使用 SQL 查询对其进行访问。 MongoDB 将每个单独的记录存储在类似 JSON 的文档中,这些文档的结构可能会有所不同。
SQL 或 NoSQL MySQL 使用结构化查询语言来处理和访问数据库。我们无法更改其架构。输入只能使用定义的模式输入。SQL 不允许处理非结构化和半结构化数据。 MongoDB 是一个 NoSQL 数据库系统。这意味着我们可以定义并遵守传入数据的预定义结构。NoSQL 允许处理非结构化和半结构化数据,这在 RDBMS 中是不可能的。可以更改其架构。
查询差异 要选择所有记录,它使用:
  • Select * from table_name;

要插入记录:
  • INSERT INTO table_name(stud_id, branch, state) VALUES ('Joel01', 'MTech', 'Capetown')
要选择所有记录,它使用:
  • db.customer.find();

要插入记录:
  • db.table_name.insert({
    stud_id: 'Joel01',
    branch: 'MTech',
    state: 'Capetown'
    })
索引 如果未找到索引,则数据库引擎搜索整个表以查找行。 如果未找到索引,则数据库引擎搜索每个文档,包括集合,以选择完全匹配的文档。
特征 MySQL 支持以下特性:
  • 它是安全的。
  • 它是可扩展的。
  • 它遵循客户端-服务器架构。
  • 它提供高性能
  • 它允许事务回滚、提交和崩溃恢复。
  • 它是灵活的。
  • 它支持模式结构。
  • 触发器
  • Unicode 支持
MongoDB 支持以下功能:
  • 它支持即时查询。
  • 它提供了在多个服务器上运行的数据的复制。
  • 它支持主从复制。
  • 它具有自动负载平衡。
  • 它没有任何架构。
  • 它使用 JavaScript 而不是存储过程。
  • 它支持类似 JSON 的数据模型。
  • 它支持丰富的查询语言。
模式设计的灵活性 一旦定义了模式设计,就无法更改。 它的模式设计可以改变,这意味着它支持动态模式。
架构 MySQL 不建立在分布式系统架构上。但是,MySQL Cluster 具有分布式数据库架构。 MongoDB 完全建立在分布式系统架构之上。
概念差异 MySQL的概念:
  • Table
  • Row
  • Column
  • Joins
MongoDB的概念:
  • Collection
  • Doucument
  • Field
  • Embedded Document, linking
谁在使用? 以下组织使用的 MySQL:
  • Pinterest
  • Twitter
  • YouTube
  • Netflix
  • Spotify
  • US Navy
  • NASA
  • Walmart
  • Paypal
以下组织使用的 MongoDB:
  • Klout
  • Citrix
  • Twitter
  • T-Mobile
  • Zendesk
  • Sony
  • Hootsuite
  • SurveyMonkey
  • MuleSoft
  • Foursquare
  • InVision
缩放 它垂直缩放 它水平缩放。
最新发布版本 MySQL 8.0.21(2020 年 2 月) MongoDB 4.2(2020 年 2 月)

 

热门文章

优秀文章