MongoDB

面向文档的数据库管理系统

MongoDB是一種面向文档数据库管理系统,用C++等语言撰寫而成,介于关系型数据库和非关系型数据库之间,以解决应用程序开发社区中的大量现实问题。MongoDB由MongoDB Inc.(当时是10gen團隊)于2007年10月开发,2009年2月首度推出。2018年,MongoDB改成以服务器端公共许可证英语Server Side Public License分发,不再属于开源软件

MongoDB
開發者MongoDB Inc.英语MongoDB Inc.
首次发布2009年2月11日,​15年前​(2009-02-11[1]
当前版本
  • 7.0.5(2024年1月5日;穩定版本)[2]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言C++, Go, JavaScript, Python
操作系统Windows 7/2008R2及以上、LinuxmacOS 10.11及以上、Solaris[3]FreeBSD[4]
平台x86_64ARM64s390x,企业版额外支持PPC64LE[5]
语言英文
类型面向文檔的數據庫
许可协议服务器端公共许可证(SSPL)、商业许可证、语言驱动采用Apache许可证[6]
网站www.mongodb.com/ 编辑维基数据

部署

MongoDB社区版是免费的,可获得为WindowsLinuxOS X二进制版本[7]。許多Linux套件管理系統曾经包含MongoDB的套件。2018年因许可证变更,MongoDB不再属于开源软件,DebianFedoraRed Hat Enterprise LinuxLinux发行版已從软件存储库中移除了MongoDB。[8][9]

MongoDB使用内存映射文件,32位元系統上限制大小為2GB的資料,64位元支持更大的資料。[10] MongoDB的核心构件只能在小端序系統上运行,客户端库可以在小端序和大端序的系統上运行[11]

語言支援

MongoDB有官方的驅動如下:C[12],C++[13],C#[14],Erlang[15],Haskell[16],Java[17],JavaScript[18],Lisp[19],fibjs[20],node.JS[21],Perl[22],PHP[23],Python[24],Ruby[25],Scala[26],Go[27],Rust[28]

目前還有許多非官方式的驅動,ColdFusion,[29] Delphi,[30] Erlang,[31][32] Factor,[33] Fantom,[34] Go,[35] JVM languages (Clojure, Groovy [36], Scala, etc.),[37] Lua,[38] HTTP REST,[39] Racket,[40]和Smalltalk.[41]

複製

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)[46] – 这是一个C++Qt写成的跨平台桌面程序。
  • Fang of Mongo[47] –這是一個網頁式的界面,由Django和jQuery所構成.
  • Futon4Mongo[48] – a clone of the CouchDB Futon web interface for MongoDB.
  • Mongo3[49] – Ruby寫成的介面.
  • MongoHub[50] –一個OS X應用程式.
  • Opricot[51] – a browser-based MongoDB shell,由PHP撰寫而成.
  • Database Master MongoDB Tool for Windows
  • RockMongo Best PHP MongoDB Administrator轻量级,支持多国语言。
  • MongoVUE Download CS,图形界面,封装较好。
  • MongoDB Compass,MongoDB官方的跨平台GUI。

著名用戶

参考文献

  1. ^ State of MongoDB March, 2010. DB-Engines. [2018-05-04]. (原始内容存档于2017-09-18) (美国英语). 
  2. ^ Release Notes for MongoDB 7.0.5. 
  3. ^ Install MongoDB. MongoDB Manual. [2018-09-19]. (原始内容存档于2020-12-02). 
  4. ^ How-To: MongoDB on FreeBSD 10.x. FreeBSD News. [2018-05-04]. (原始内容存档于2017-12-28). 
  5. ^ Production Notes - Supported Platforms. MongoDB Manual. [2018-09-19]. (原始内容存档于2020-12-03). 
  6. ^ MongoDB Licensing. mongodb.com. [2018-09-19]. (原始内容存档于2020-11-14). 
  7. ^ MongoDB Download Center. MongoDB. [August 14, 2018]. (原始内容存档于2018-08-14) (美国英语). 
  8. ^ Vaughan-Nichols, Steven J. MongoDB "open-source" Server Side Public License rejected. ZDNet. [January 17, 2019]. (原始内容存档于2019-01-16) (英语). 
  9. ^ MongoDB’s licensing changes led Red Hat to drop the database from the latest version of its server OS. GeekWire. January 16, 2019 [January 17, 2019]. (原始内容存档于2019-01-17) (美国英语). 
  10. ^ 存档副本. [2011-06-23]. (原始内容存档于2009-09-12). 
  11. ^ Hardware Considerations. [2018-09-19]. (原始内容存档于2020-12-03). 
  12. ^ C页面存档备份,存于互联网档案馆
  13. ^ C++页面存档备份,存于互联网档案馆
  14. ^ C# / .NET页面存档备份,存于互联网档案馆
  15. ^ Erlang页面存档备份,存于互联网档案馆
  16. ^ Haskell页面存档备份,存于互联网档案馆
  17. ^ Java页面存档备份,存于互联网档案馆
  18. ^ JavaScript
  19. ^ Lisp页面存档备份,存于互联网档案馆
  20. ^ fibjs页面存档备份,存于互联网档案馆
  21. ^ node.JS页面存档备份,存于互联网档案馆
  22. ^ Perl页面存档备份,存于互联网档案馆
  23. ^ PHP页面存档备份,存于互联网档案馆
  24. ^ Python页面存档备份,存于互联网档案馆
  25. ^ Ruby页面存档备份,存于互联网档案馆
  26. ^ Scala页面存档备份,存于互联网档案馆
  27. ^ Go页面存档备份,存于互联网档案馆
  28. ^ MongoDB Rust Driver, mongodb, 2022-08-05 [2022-08-08], (原始内容存档于2022-08-08) 
  29. ^ ColdFusion driver. [2011-06-23]. (原始内容存档于2020-10-01). 
  30. ^ Delphi. [2011-06-23]. (原始内容存档于2016-08-14). 
  31. ^ Emongo Erlang driver. [2011-06-23]. (原始内容存档于2020-06-22). 
  32. ^ Erlmongo Erlang driver. [2011-06-23]. (原始内容存档于2010-04-22). 
  33. ^ Factor driver. [2011-06-23]. (原始内容存档于2016-04-19). 
  34. ^ Fantom driver. [2011-06-23]. (原始内容存档于2020-08-03). 
  35. ^ gomongo Go driver. [2011-06-23]. (原始内容存档于2020-11-09). 
  36. ^ GMongo. [2011-06-23]. (原始内容存档于2017-09-09). 
  37. ^ JVM language center. [2011-06-23]. (原始内容存档于2013-01-29). 
  38. ^ LuaMongo. [2011-06-23]. (原始内容存档于2016-01-18). 
  39. ^ REST interface. [2011-06-23]. (原始内容存档于2019-11-18). 
  40. ^ 存档副本. [2011-06-23]. (原始内容存档于2018-07-20). 
  41. ^ Smalltalk driver. [2011-06-23]. (原始内容存档于2019-10-18). 
  42. ^ Munin plugin. [2011-06-23]. (原始内容存档于2020-10-24). 
  43. ^ Ganglia plugin. [2011-06-23]. (原始内容存档于2020-09-16). 
  44. ^ Scout slow-query plugin. [2011-06-23]. (原始内容存档于2011-07-16). 
  45. ^ Cacti plugin. [2011-06-23]. (原始内容存档于2016-06-08). 
  46. ^ Robo 3T - formerly Robomongo — native MongoDB management tool (Admin UI). [2018-09-19]. (原始内容存档于2020-12-05). 
  47. ^ Fang of Mongo. [2011-06-23]. (原始内容存档于2020-09-12). 
  48. ^ Futon4Mongo. [2011-06-23]. (原始内容存档于2016-12-25). 
  49. ^ Mongo3. [2011-06-23]. (原始内容存档于2016-03-05). 
  50. ^ MongoHub. [2011-06-23]. (原始内容存档于2011-06-13). 
  51. ^ Opricot. [2011-06-23]. (原始内容存档于2011-06-18). 
  52. ^ 12 Months with MongoDB. 2010-10-25 [2011-05-24]. (原始内容存档于2020-11-09). 
  53. ^ MongoDB - diasporatest.com. 2010-12-23 [2010-12-23]. (原始内容存档于2010-11-24). 
  54. ^ Implementing MongoDB at Shutterfly - Presentation at MongoSF. 2010-04-30 [2010-06-28]. (原始内容存档于2011-05-18). 
  55. ^ MongoDB at foursquare - Presentation at MongoNYC. 2010-05-21 [2010-06-28]. (原始内容存档于2010-06-12). 
  56. ^ bit.ly user history, auto-sharded - Presentation at MongoNYC. 2010-05-21 [2010-06-28]. (原始内容存档于2010-06-11). 
  57. ^ Maher, Jacqueline. Building a Better Submission Form. NYTimes Open Blog. 2010-05-25 [2010-06-28]. (原始内容存档于2020-11-09). 
  58. ^ How Python, TurboGears, and MongoDB are Transforming SourceForge.net. PyCon 2010. 2010-02-20 [2010-06-28]. (原始内容存档于2011-02-11). 
  59. ^ How This Web Site Uses MongoDB. Business Insider. 2010-11-06 [2010-06-28]. (原始内容存档于2020-09-10). 
  60. ^ MongoDB at Etsy. Code as Craft: Etsy Developer Blog. 2010-05-19 [2010-06-28]. (原始内容存档于2011-06-14). 
  61. ^ Holy Large Hadron Collider, Batman!. The MongoDB NoSQL Database Blog. 2010-06-03 [2010-08-03]. (原始内容存档于2016-09-08). 
  62. ^ Building Our Own Tracking Engine With MongoDB. Thumbtack Blog. 2011-05-03 [2011-05-15]. (原始内容存档于2011-05-09). 
  63. ^ 楊惠芬. 趨勢科技導入MongoDB-追蹤管理全球10萬個行動裝置,上萬筆資料同時寫入. ithome. 2013-01-17 [2013-01-21]. (原始内容存档于2013-01-28). 

外部連結