开发者 | MongoDB Inc. |
---|---|
首次发布 | 2009年2月11日[1] |
编程语言 | C++, Go, JavaScript, Python |
操作系统 | Windows 7/2008R2及以上、Linux、macOS 10.11及以上、Solaris[2]、 FreeBSD[3]等 |
系统平台 | x86 64、ARM64及s390x,企业版额外支持PPC64LE[4] |
语言 | 英文 |
类型 | 面向文档的数据库 |
许可协议 | 服务器端公共许可证(SSPL)、商业许可证、语言驱动采用Apache许可证[5] |
MongoDB是一种面向文档的数据库管理系统,用C++等语言撰写而成,以解决应用程序开发社区中的大量现实问题。MongoDB由MongoDB Inc.(当时是10gen团队)于2007年10月开发,2009年2月首度推出,现以服务器端公共许可(SSPL)分发。
部署
MongoDB社区版是免费的,可获得为Windows、Linux和OS X二进制版本[6]。许多Linux包管理系统曾经包含MongoDB的包,由于许可证变更,MongoDB已经从Debian、Fedora和Red Hat Enterprise Linux发行中移除。[7][8]
MongoDB使用内存映射文件,32位系统上限制大小为2GB的资料,64位支持更大的资料。[9]MongoDB的核心构件只能在小端序系统上运行,客户端库可以在小端序和大端序的系统上运行[10]。
语言支持
MongoDB有官方的驱动如下:C[11],C++[12],C#[13],Erlang[14],Haskell[15],Java[16],JavaScript[17],Lisp[18],fibjs[19],node.JS[20],Perl[21],PHP[22],Python[23],Ruby[24],Scala[25],Go[26]。
目前还有许多非官方式的驱动,ColdFusion,[27]Delphi,[28]Erlang,[29][30]Factor,[31]Fantom,[32]Go,[33]JVM languages (Clojure, Groovy [34], Scala, etc.),[35]Lua,[36]HTTP REST,[37]Racket,[38]和Smalltalk.[39]。
复制
MongoDB的开发人员可以保证一个操作已被复制到至少个服务器上每个运行的基础.
主从式
由于操作都是在主机,从机将复制任何更改的数据。
例如:starting a master/slave pair locally:
$ mkdir -p ~/dbs/master ~/dbs/slave $ ./mongod—master—port 10000—dbpath ~/dbs/master $ ./mongod—slave—port 10001—dbpath ~/dbs/slave—source localhost:10000
副本集
副本集类似于主从式架构,但他们结合的能力为副机,如果当前一直迟缓时,选出新的主机。
管理与图形化接口
监控
支持MongoDB的监控插件:
GUIs
目前较受欢迎的UI有:
- Robo 3T (原Robomongo)[44]– 这是一个C++及Qt写成的跨平台桌面程序。
- Fang of Mongo[45]–这是一个网页式的界面,由Django和jQuery所构成.
- Futon4Mongo[46]– a clone of the CouchDB Futon web interface for MongoDB.
- Mongo3[47]– Ruby写成的接口.
- MongoHub[48]–一个OS X应用程序.
- Opricot[49]– a browser-based MongoDB shell,由PHP撰写而成.
- Database Master MongoDB Tool for Windows
- RockMongo Best PHP MongoDB Administrator轻量级,支持多国语言。
- MongoVUE Download CS,图形界面,封装较好。
- MongoDB Compass,MongoDB官方的跨平台GUI。
著名用户
- Wordnik[50]
- diaspora[51]
- Shutterfly[52]
- foursquare[53]
- bit.ly[54]
- The New York Times
- SourceForge[55]
- Business Insider[56]
- Etsy[57]
- LHC[58]
- Thumbtack[59]
- 趋势科技[60]
参考文献
- ↑ State of MongoDB March, 2010. DB-Engines. [2018-05-04] (美国英语).
- ↑ Install MongoDB. MongoDB Manual. [2018-09-19].
- ↑ How-To: MongoDB on FreeBSD 10.x. FreeBSD News. [2018-05-04].
- ↑ Production Notes - Supported Platforms. MongoDB Manual. [2018-09-19].
- ↑ MongoDB Licensing. mongodb.com. [2018-09-19].
- ↑ MongoDB Download Center. MongoDB. [2018-08-14] (美国英语).
- ↑ Vaughan-Nichols, Steven J. MongoDB "open-source" Server Side Public License rejected. ZDNet. [2019-01-17] (英语).
- ↑ MongoDB’s licensing changes led Red Hat to drop the database from the latest version of its server OS. GeekWire. 2019-01-16 [2019-01-17] (美国英语).
- ↑ 存档副本. [2011-06-23].
- ↑ Hardware Considerations. [2018-09-19].
- ↑ C
- ↑ C++
- ↑ C# / .NET
- ↑ Erlang
- ↑ Haskell
- ↑ Java
- ↑ JavaScript
- ↑ Lisp
- ↑ fibjs
- ↑ node.JS
- ↑ Perl
- ↑ PHP
- ↑ Python
- ↑ Ruby
- ↑ Scala
- ↑ Go
- ↑ ColdFusion driver. [2011-06-23].
- ↑ Delphi.
- ↑ Emongo Erlang driver. [2011-06-23].
- ↑ Erlmongo Erlang driver. [2011-06-23].
- ↑ Factor driver. [2011-06-23].
- ↑ Fantom driver. [2011-06-23].
- ↑ gomongo Go driver. [2011-06-23].
- ↑ GMongo. [2011-06-23].
- ↑ JVM language center. [2011-06-23].
- ↑ LuaMongo.
- ↑ REST interface. [2011-06-23].
- ↑ 存档副本. [2011-06-23].
- ↑ Smalltalk driver. [2011-06-23].
- ↑ Munin plugin. [2011-06-23].
- ↑ Ganglia plugin. [2011-06-23].
- ↑ Scout slow-query plugin. [2011-06-23].
- ↑ Cacti plugin. [2011-06-23].
- ↑ Robo 3T - formerly Robomongo — native MongoDB management tool (Admin UI). [2018-09-19].
- ↑ Fang of Mongo. [2011-06-23].
- ↑ Futon4Mongo. [2011-06-23].
- ↑ Mongo3. [2011-06-23].
- ↑ MongoHub. [2011-06-23].
- ↑ Opricot. [2011-06-23].
- ↑ 12 Months with MongoDB. 2010-10-25 [2011-05-24].
- ↑ MongoDB - diasporatest.com. 2010-12-23 [2010-12-23].
- ↑ Implementing MongoDB at Shutterfly - Presentation at MongoSF. 2010-04-30 [2010-06-28].
- ↑ MongoDB at foursquare - Presentation at MongoNYC. 2010-05-21 [2010-06-28].
- ↑ bit.ly user history, auto-sharded - Presentation at MongoNYC. 2010-05-21 [2010-06-28].
- ↑ How Python, TurboGears, and MongoDB are Transforming SourceForge.net. PyCon 2010. 2010-02-20 [2010-06-28].
- ↑ How This Web Site Uses MongoDB. Business Insider. 2010-11-06 [2010-06-28].
- ↑ MongoDB at Etsy. Code as Craft: Etsy Developer Blog. 2010-05-19 [2010-06-28].
- ↑ Holy Large Hadron Collider, Batman!. The MongoDB NoSQL Database Blog. 2010-06-03 [2010-08-03].
- ↑ Building Our Own Tracking Engine With MongoDB. Thumbtack Blog. 2011-05-03 [2011-05-15].
- ↑ 杨惠芬. 趨勢科技導入MongoDB-追蹤管理全球10萬個行動裝置,上萬筆資料同時寫入. ithome. 2013-01-17 [2013-01-21].