什么是MongoDB ?
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
主要特点
- MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
- 你可以在 MongoDB 记录中设置任何属性的索引 (如:FirstName=“Sameer”,Address=“8 Gandhi Road”) 来实现更快的排序。
- 你可以通过本地或者网络创建数据镜像,这使得 MongoDB 有更强的扩展性。
- 如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上,这就是所谓的分片。
- MongoDB 支持丰富的查询表达式。查询指令使用 JSON 形式的标记,可轻易查询文档中内嵌的对象及数组。
- …
历史
- 2007年10月,MongoDB 由10gen团队所发展。2009年2月首度推出。
- 2012年05月23日,MongoDB 2.1 开发分支发布了!该版本采用全新架构,包含诸多增强。
- 2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。
- 2013年04月23日,MongoDB 2.4.3 发布,此版本包括了一些性能优化,功能增强以及 bug 修复。
- …
MongoDB 下载
你可以在 MongoDB 官网下载该安装包,地址为:https://www.mongodb.com/download-center#community。MonggoDB 支持以下平台:
- OS X 32-bit
- OS X 64-bit
- Linux 32-bit
- …
语言支持
MongoDB 有官方的驱动如下:
- C
- C++
- C# / .NET
- Erlang
- …
MongoDB 工具
有几种可用于 MongoDB 的管理工具。
监控
- MongoDB 提供了网络和系统监控工具 Munin,它作为一个插件应用于 MongoDB 中。
- …
GUI
- Fang of Mongo – 网页式,由 Django 和 jQuery 所构成。
- …
MongoDB 应用案例
下面列举一些公司 MongoDB 的实际应用:
- Craiglist上使用MongoDB的存档数十亿条记录。
- FourSquare,基于位置的社交网站,在Amazon EC2的服务器上使用MongoDB分享数据。