技术开发 频道

NoSQL:选择MongoDB解决方案的理由

  【IT168 评论】近年来, NoSQL在IT界着实火了一把。不仅仅在互联网领域,越来越多的企业应用中,NoSQL也成为关系数据库管理系统(RDBMS)一种替代选项。

  NoSQL的出现与流行是有原因的,数据量和数据处理速度日益增长,而数据库本身的增强可以满足数据在互联网上读写所需的速度。

  相比于传统的关系型数据库管理系统,水平可扩展的NoSQL系统与之有着本质的区别:

  •关系数据库管理系统首先是基于事务的,遵循ACID规则。而NoSQL系统并不完全支持ACID,而且许多NoSQL系统中并没有事务的概念。

  •关系数据库管理系统中的数据位于固定的表和字段。而NoSQL系统并不依赖固定表和字段。

  •NoSQL系统中并不使用SQL查询。

  •通过主键对数据进行分解在关系数据库管理系统中不是强制的。而NoSQL系统则是通过主键来访问数据的。

  正如上述提到的与关系数据库管理系统的差异,NoSQL系统可以分为主要的三大类:基于文档,基于键/值以及基于图形,每种类型的NoSQL系统对于数据一致性和数据访问策略都是有所差异的。

  MongoDB简介

  如今,市面上有很多NoSQL解决方案,而MongoDB是其中最为流行的解决方案。

  MongoDB是2007年起由10gen公司进行改良并在2009年已经成为拥有AGPL许可的开源项目。MongoDB将自身定位为一个开源的、易于扩展的文档型数据库。每条记录实际上都是以一个文档存在于MongoDB中。文档以JSON格式,二进制JSON (BSN) 存储在MongoDB中。BSON文档是包含有所存元素有序列表的对象。每条元素都由一个字段名和一个特定类型的值组成。以下对是传统关系数据库管理系统与MongoDB进行的对比:

SQLMongoDB
集合
文档或BSON文档
字段
索引索引
表连接嵌入式文档或链接
声明某一列或某些列作为主键自动设置_id字段为主键
聚合(如Group by)聚合框架

NoSQL:选择MongoDB解决方案的理由

  为什么选择MongoDB?

  是什么让MongoDB流行?以下列出的功能特性使它从众多NoSQL解决方案中脱颖而出。

  •查询支持。MongoDB可以根据预定字段和特定范围进行查询,而且还能根据正则表达式进行查询,而许多NoSQL解决方案仅能够让你通过键对数据进行访问。

  •辅助索引支持。关于使用预定字段进行查询,将这些字段定义为辅助索引可以对数据进行高效的访问。

  •主从复制支持。对读写操作引导到各自独立的服务器进行处理,在主服务无法访问的时候运行一个备用服务器作为主服务器,提升NoSQL可用性。

  •分片支持。跨多服务器对大规模数据进行分片是MongoDB有别于其同类的特性之一。

  •MapReduce支持。

  •对众多软件语言的驱动支持。

  MongoDB更新版本号是2.4.5。免费下载地址:http://www.mongodb.org/downloads 同时还可以选择MongoDB商用版。

  原文链接:http://www.searchdatabase.com.cn/showcontent_74766.htm

0
相关文章