什么是MongoDB
MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的请客下,添加更多的节点,可以保证服务器的性能. MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB将数据存储为一个文档,数据结构由键值对(key=>value)组成. MongoDB文档类似于JSON对象. 字段值可以包含其他文档,数组及文档数组.
{
name: "sue",
age: "18",
status: "200",
groups: ["news","sports"]
}
主要特点:
- MongoDB是一个面向文档存储的数据库,操作起来比较简单和容易.
- 可以在MongoDB记录中设置任何属性的索引(如: FirstName=”Sameer”,Address=”8 Gandhi Road”)来实现更快的排序.
- 通过本地或网络创建数据镜像,使MongoDB有更强的扩张性.
- …
- 支持丰富的查询表达式.查询指令使用JSON形式的标记,可轻易的查询文档中内嵌的对象及数组.
- 可以使用update()命令实现替换文档或指定的数据字段
- Map/Reduce主要是用来对数据进行批量处理和聚合操作
- Map函数和Reduce函数使用js编写的,并可以通过db.runCommand或mapreduce命令执行MapReduce操作
- GridFS是MongoDB中内置功能,可以用于存放大量的小文件
- mongoDB允许在服务器端执行脚本,可以用JS编写某个函数,直接在服务器端执行,也可以把函数的定义存储在服务端,下次直接调用.
- 支持的编程语言: Ruby,Python,Java,C++,Php,C#等.
MongoDB的管理工具
有几种可用于MongoDB的管理工具
- 监控 MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中. Gangila是MongoDB高性能的系统监视的工具,作为一个插件应用于MongoDB中. 基于图形界面的开源工具Cacti,用于查看CPU负载,网络带宽利用率,它也提供了一个应用于监控MongoDB的插件.
- GUI Fang of Mongo – 网页式,由Django和jQuery所构成。 Futon4Mongo – 一个CouchDB Futon web的mongodb山寨版。 Mongo3 – Ruby写成。 MongoHub – 适用于OSX的应用程序。 Opricot – 一个基于浏览器的MongoDB控制台, 由PHP撰写而成。 Database Master — Windows的mongodb管理工具 RockMongo — 最好的PHP语言的MongoDB管理工具,轻量级, 支持多国语言.