📜  MySQL与MongoDB

📅  最后修改于: 2020-11-19 09:17:23             🧑  作者: Mango

MySQL和MongoDB之间的区别

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

什么是MySQL?

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

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

什么是MongoDB?

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

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

让我们看下面的比较表,以了解MySQL和MongoDB之间的本质区别。

MySQL与MongoDB

Comparison Basis MySQL MongoDB
Definition It is an open-source, cross-platform relational database management system built by Swedish Company MYSQL AB and currently supported by the Oracle. It is a popular open-source NoSQL database management system developed and owned by MongoDB Inc. that stores data in JSON-like format.
Release It was released on 23 May 1995. It was released on 11 February 2009.
Written in It is written in C and C++. It is written in C, C++, and Java.
Database Structure MySQL stores each individual records in tables and can access it by using the SQL queries. MongoDB stores each individual record in JSON-like documents that may vary in structures.
SQL or NoSQL MySQL uses Structured Query Language to process and access the database. We cannot change its schema. The inputs can only enter with a defined schema. SQL does not allow to work with unstructured and semi-structured data. MongoDB is a NoSQL database system. It means we can define and adhere to the predefined structure of the incoming data. NoSQL allows working with unstructured and semi-structured data, which is not possible in RDBMS. Its schema can be changed.
Queries Differences To select all records, it uses:
  • Select * from table_name;

To insert records:

  • INSERT INTO table_name(stud_id, branch, state) VALUES (‘Joel01’, ‘MTech’, ‘Capetown’)
To select all records, it uses:
  • db.customer.find();

To insert records:

  • db.table_name.insert({
    stud_id: ‘Joel01’,
    branch: ‘MTech’,
    state: ‘Capetown’
    })
Indexes Needed If the index is not found, the database engine searches an entire table for finding the rows. If the index is not found, the database engine searches each document, including collection, for selecting the exact match documents.
Features MySQL supports the following features:
  • It is secure.
  • It is scalable.
  • It follows the client-server architecture.
  • It provides High Performance
  • It allows transactions to be rolled back, commit, and crash recovery.
  • It is flexible.
  • It support schema structure.
  • Triggers
  • Unicode support
MongoDB supports the following features:
  • It supports ad hoc queries.
  • It provides duplication of data running over multiple servers.
  • It supports Master-Slave Replication.
  • It has automatic load balancing.
  • It does not have any schema.
  • It uses JavaScript instead of stored procedures.
  • It supports the JSON-like data model.
  • It supports rich query language.
The Flexibility of Schema Design Once the schema design is defined, it cannot be changed. Its schema design can be changed, which means it supports dynamic schema.
Architecture MySQL does not build on Distributed System Architecture. But, MySQL Cluster has distributed database architecture. MongoDB is Completely built on Distributed System Architecture.
Terminologies Differences It uses:
  • Table
  • Row
  • Columns
  • Joins
It uses:
  • Collection
  • Document
  • Field
  • Embedded Document, linking
Who uses? MySQL used by the following organization:
  • Pinterest
  • Twitter
  • YouTube
  • Netflix
  • Spotify
  • US Navy
  • NASA
  • Walmart
  • Paypal
MongoDB used by the following organization:
  • Klout
  • Citrix
  • Twitter
  • T-Mobile
  • Zendesk
  • Sony
  • Hootsuite
  • SurveyMonkey
  • MuleSoft
  • Foursquare
  • InVision
Scaling It scales in vertically It scales in Horizontally.
Latest Release Version MySQL 8.0.21 (February 2020) MongoDB 4.2 (February 2020)