2019独角兽企业重金招聘Python工程师标准>>>

在高速发展的互联网时代,应对Web应用的数据膨胀是一件很头疼的事情。

举个例子,对于关系型数据库,比如MySQL,刚开始时只有很少的数据,一台服务器就可以了,然后建立备份,以便应对大量的读取和不时的宕机。时间一长,就得加个缓存层,调整所有的查询,投入更多的硬件。最后,你会发现自己需要将数据切分到多个集群上,并重新构建大量的应用逻辑以适应这种切分。之后,你又会发现被自己数月前设计的数据库结构限制住了。因为集群中大量的数据需要更改模式,会花费很长的时间,也需要DBA投入相当多的宝贵时间。

为了应对Web应用的数据膨胀,NoSQL盛行,其中风头最劲的莫过于MongoDB。我最先接触MongoDB是在大三暑假实习的时候。MongoDB对于大数据量、高并发、弱事务的互联网应用,如同一个瑞士军刀般的利器。

MongoDB是面向文档的数据库,是NoSQL。其特点有以下6点:

(1)丰富的数据模型:MongoDB将原来“行”的概念换成更加灵活的“文档”模型。面向文档的方式可以将文档或者数组内嵌进来,所以用一条记录就可以表示非常复杂的层次关系。对于使用面向对象语言的开发者,这种方式是很自然的。其次,MongoDB没有模式,也就是说文档的键不会事先定义也不会固定不变。由于没有模式需要更改,通常不需要迁移大量数据。不必将所有数据都放到一个模子里面,应用层可以处理新增或者丢失的键。这样开发者可以非常容易地变更数据模型。

(2)容易扩展:由于MongoDB采用面向文档的数据模型,因此可以自动在多台服务器之间分割数据。MongoDB还可以平衡集群的数据和负载,自动重拍文档。要是需要更大的容量,只需在集群中添加新机器,然后让数据库来处理剩下的事。

(3)丰富的功能:索引、存储JavaScript、聚合、固定集合、文件存储。

(4)卓越的性能:MongoDB使用MongoDB传输协议作为与服务器交互的主要方式。它对文档进行动态填充,预分配数据文件,用空间换取性能的稳定。默认的存储引擎中使用了内存映射文件,将内存管理工作交给操作系统去处理。动态查询优化器会“记住”执行查询最高效的方式。再者,MongoDB尽可能将服务器处理逻辑交给客户端(由驱动程序或者用户的应用程序处理)。

(5)简便的管理:MongoDB尽量让服务器自治来简化数据库的管理。如果主服务器挂掉,MongoDB会自动切换到备份服务器上,并且将备份服务器提升为活跃服务器。在分布式环境下,集群中只需要知道有新增加的节点,就会自动集成和配置新节点。MongDB的管理理念就是尽可能地让服务器自动配置,让用户能在需要的时候调整设置。

(6)易用性

转载于:https://my.oschina.net/ckanner/blog/87032

MongoDB(一):简介相关推荐

  1. MongoDB数据库简介及安装

    一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源 ...

  2. MongoDB自学笔记8--- 3.3 MongoDB Shell简介及简单使用

     3.3 MongoDB Shell简介及简单使用 mongoDB Shell是mongoDB自带的一个javascript shell,随mongoDB安装包一同发布.可以使用mongoDB she ...

  3. mongodb 对象唯一索引_什么是MongoDB?简介,架构,功能和示例

    通过这个教程,我们将学习如下内容:- 什么是MongoDB? MongoDB功能 MongoDB示例演示 MongoDB架构的关键组件 为什么要使用MongoDB MongoDB中的数据建模 Mong ...

  4. laravel mongodb如何声明数据类型_什么是MongoDB?简介,架构,功能和示例

    通过这个教程,我们将学习如下内容:- 什么是MongoDB? MongoDB功能 MongoDB示例演示 MongoDB架构的关键组件 为什么要使用MongoDB MongoDB中的数据建模 Mong ...

  5. mongoDB 数据库简介

    背景概念-数据库类型 对比关系型数据库 优点 : 逻辑清晰.容易理解,结构类似表格 使用 sql 语句技术成熟,使用方便 数据一致性好,完整性好 关系型数据库比较成熟,可以使用一些复杂操作 缺点 : ...

  6. MongoDB入门简介

    2019独角兽企业重金招聘Python工程师标准>>> 有关于MongoDB的资料现在较少,且大多为英文网站,以上内容大多由笔者翻译自官网,请翻译或理解错误之处请指证.之后笔者会继续 ...

  7. MongoDB数据库简介

    目录 1.MongoDB的优势 2.MongoDB的应用场合 3.MongoDB与SQL的术语对比 4.MongoDB数据库 5.MongoDB集合 5.MongoDB文档 6.ObjectId类型的 ...

  8. 〖Python 数据库开发实战 - MongoDB篇①〗- MongoDB数据库简介

    ✌ 大家好,我是 哈士奇 ,一位工作了十年的"技术圈混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区. ✌

  9. BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略

    BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介.下载.案例应用之详细攻略 目录 MongoDB的简介 1.MongoDB的主要功能特性 2.对MongoDB进行增删改查( ...

  10. MongoDB简介、在node中使用MongoDB

    MongoDB数据库简介: 使用MongoDB的好处是不用SQL语句,它提供了对应的API,其功能和MYSQL基本相同,是最像关系型数据库的非关系型数据库:不需要设计表的结构,文档相当于json,如果 ...

最新文章

  1. 李彦宏:用“工程思维”做自动驾驶
  2. HPU暑期第五次积分赛 F - 辞树的质因数分解
  3. cmake / cmake --build 如何理解
  4. Codeforces Round #762 (Div. 3)
  5. 29、jdbc操作数据库(6)
  6. 无法连接oralce问题(不断更新)
  7. Java LinkedHashMap clear()方法与示例
  8. java创建线程几种_java中创建线程有几种方式
  9. SSE图像算法优化系列二十二:优化龚元浩博士的曲率滤波算法,达到约1000 MPixels/Sec的单次迭代速度...
  10. 让你受用一辈子的一条CMD命令
  11. CCF201509试题
  12. code-server安装使用
  13. 云原生的高效生产工具 ---vagrant
  14. 免费服务器+免费域名 【白嫖手册】
  15. 计算机 管理 被停用,任务管理器已被系统管理员停用,详细教您任务管理器已被系统管理员停用怎么办...
  16. 2. 导弹防御系统(动态规划)
  17. 全网最详细桥接老式无线路由器教程
  18. vue之使用 vue-pdf插件
  19. 服务器装系统03系统,服务器系统安装windows2003教程
  20. 什么是转义字符?为什么用转义字符?常见转义字符使用情况?

热门文章

  1. c#属性的相关学习总结。
  2. 微信七年回顾:历经多少质疑和差评,才配拥有今天的强大
  3. Gridview实现银行选择列表
  4. Java:取得当前日期一周之前/之后的日期,或者是一月之前/之后的日期
  5. 博客园----你真的没有没落.感恩博客园。。。
  6. 作为HTC在MWC2012移动世界大会上推出的全新系列产品。
  7. 自己拿项目,软件设计开发,释放你的力量
  8. 破解ERP的使用成本之谜
  9. 新遇到的系统编译问题!已解决!
  10. 3月24日下午专家聊天室:轻松掌握WCF 帮你找到入门砖