MongoDB和MySQL的区别,应该怎么选择?

2013-05-16    分类: 网站建设

MongoDB和MySQL分别是的开源NoSQL和关系型数据库。哪一个最适合你的应用?

互联网泡沫时期,用于Web应用程序的一种通用软件堆栈是LAMP,它最初代表Linux(OS),Apache(Web服务器),MySQL(关系数据库)和PHP(服务器编程语言)。MySQL是选的数据库,主要是因为它是免费的开源代码,并且具有良好的读取性能,非常适合从数据库动态生成网站的数据映射应用。

之后,代表MongoDB(文档数据库),Express(Web服务器),AngularJS(前端框架)和Node.js(后端JavaScript运行时)的MEAN堆栈开始流行。除其他因素外,MEAN堆栈很有吸引力,因为您需要了解的唯一语言是JavaScript。与等效的LAMP堆栈相比,它还需要更少的RAM。

LAMP是传统Web开发堆栈,是Linux Apache MySQL和PHP/Python的简称,而MEAN是MongoDB、ExpressJS,AngularJS和Node.js。

SQL还是NoSQL?

什么时候需要为新应用程序使用MySQL这样的关系数据库?除了对标准SQL的明显支持之外,关系数据库本身还强制数据进入具有一致的强类型字段的表格模式,并帮助您避免数据重复,只要您利用了标准化。

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

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

什么时候需要像MongoDB这样的文档数据库?如果您的主要用例需要允许自由格式的数据、在文档之间更改类型的字段、随时间变化的模式或嵌套的文档,那么NoSQL数据库将满足这些要求。此外,如果您的应用程序是用JavaScript编写的,那么JSON格式的文档数据库将是一个自然的选择。

文章标题:MongoDB和MySQL的区别,应该怎么选择?
标题URL:https://www.cdcxhl.com/news/780.html

成都网站建设公司_创新互联,为您提供用户体验品牌网站制作网站收录小程序开发动态网站软件开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站建设