mongodb简介

1. 什么是mongodb


MongoDB 不是芒果(mango),它在拉丁文中的原意是巨大的意思。如果用一句话来概括的话:MongoDB是一个高可用、分布式、灵活模式的文档数据库,用于大容量数据存储。文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。



2. 数据在mongodb中和mysql数据库中的区别


mysql数据库需要你把一个数据对象,拆分成零部件,然后存到各个相应的表里,需要的是最后把它拼起来。

而MongoDB的文档模式,与这个模式大不相同。由于我们的存储单位是一个文档,可以支持数组和嵌套文档,所以很多时候你直接用一个这样的文档就可以涵盖这个客户相关的所有个人信息。

下面可以用来存储pepole的记录示例来展示下数据在mongodb中和mysql数据库中的区别:


虽然MongoDB的模型和关系型数据库模型截然不同,但是关系型数据库的一些必不可少的功能如动态查询、二级索引、聚合、关联等在MongoDB中也有非常完善的支持。

3. mongodb的优点


1.读写效率高:由于文档模型把相关数据集中在一块,在普通机械盘上读数据的时候不用花太多时间去定位磁头,因此在IO性能上有先天独厚的优势

2.可扩展能力强:关系型数据库很难做分布式的原因就是多节点海量数据关联有巨大的性能问题。如果不考虑关联,数据分区分库,水平扩展就比较简单;

3.动态模式:文档模型支持可变的数据模式,不要求每个文档都具有完全相同的结构,例如在同一个文档中支持同一个字段拥有不同的数据类型,对很多异构数据场景支持非常好。

4.模型自然:文档模型最接近于我们熟悉的对象模型,支持数组和嵌套对象作为值。从内存到存储,无需经过ORM的双向转换,性能上和理解上都很自然易懂。

5.强大的查询语言:丰富而富有表现力的查询语言,使您可以按任意字段进行过滤和排序,无论它在文档中有多嵌套。支持聚合和其他现代用例,例如基于地理的搜索,图形搜索和文本搜索。查询本身就是JSON,因此很容易组合。不再需要串联字符串来动态生成SQL查询。

4. mongodb的缺点


与关系型数据库,比如mysql截然不同的查询语法,需要重新学习mongodb的操作语法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MongoDB 是一个由 C++ 编写的基于分布式文件存储的高性能、高可用、可扩展的开源文档数据库,旨在为 WEB...
    yuanzicheng阅读 685评论 0 49
  • 易于使用 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库; Mon...
    4ea0af17fd67阅读 435评论 0 1
  •   MongoDB就是数据库,是一款致力于web应用程序和互联网基础设施而设计的数据库,是一种新型的Nosql数据...
    失心轩阅读 181评论 0 0
  • 一. 简介 1.什么是MongoDB? MongoDB和MySQL一样都是数据库, 都是存储数据的仓库, 不同的是...
    低头看云阅读 246评论 0 1
  • MongoDB简介(Introduction) MongoDB is an open-source documen...
    __method__阅读 478评论 0 0