NoSql: MongoDB简介

真理局限性:没有任何工具能应对全部问题 没有任何一个数据库能知足全部的应用场景 linux

  MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案MongoDB如今已经被国内不少网站用来记录网站的日志。MongoDB也属于内存数据库,它会自动将一些数据缓存到内存中,这个我想也是你们平时本身会去作的事情,毕竟占内存总比占CPU好,MongoDB支持分布式部署,这样咱们能够分多台服务器来进行部署。注:MongoDB不建议部署在windows 32的机器上,当数据超过2G的时候会出问题,官方建议安装在windows 64位或linux上。相对于关系性数据库来讲,它的安全性就大打折扣了,因此咱们应该有选择性的使用,譬如网站的日志记录,网站访问统计等可使用MongoDB来进行数据存储。 mongodb

MongoDB的特点在于支持的查询语言很是强大,其语法有点相似于面向对象的查询语言,几乎能够实现相似关系数据库单表查询的绝大部分功能,并实现了存储节点的自动sharding管理等配套功能;以及因为MongoDB是分布在多个文件中,当数据量远大于内存时,数据分布在足够多文件时确保性能。 数据库

MongoDB 特性: windows

  1. 面向集合的存储:适合存储对象及JSON形式的数据。 数组

  2. 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。 缓存

  3. 完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。 安全

  4. 查询监视:Mongo包含一个监视工具用于分析数据库操做的性能。 服务器

  5. 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。 分布式

  6. 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。 工具

  7. 自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。

  8. 模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,咱们不须要知道它的任何结构定义。若是须要的话,你彻底能够把不一样结构的文件存储在同一个数据库里。

  9. 支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序。

  10. 不支持符合事务控制能力

  11. 支持单文件的原子操做

相关文章
相关标签/搜索