MongoDB

来自Local Chinese Wikipedia
跳转到导航 跳转到搜索

Template:NoteTA 脚本错误:没有“Infobox”这个模块。脚本错误:没有“Check for unknown parameters”这个模块。

MongoDB是一种面向文档数据库管理系统,用C++等语言撰写而成,分类介于关系型数据库和非关系型数据库之间的NoSQL。MongoDB由脚本错误:没有“ilh”这个模块。(当时是10gen团队)于2007年10月开发,2009年2月首度推出。2018年,MongoDB改成以脚本错误:没有“ilh”这个模块。分发,不再属于开源软件

部署[编辑]

MongoDB社区版是免费的,支援WindowsLinuxmacOS三种操作系统[1]。许多Linux套件管理系统曾经包含MongoDB的套件。2018年因许可证变更,MongoDB不再属于开源软件,DebianFedoraRed Hat Enterprise LinuxLinux发行版已从软件存储库中移除了MongoDB。[2][3]

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

语言支援[编辑]

MongoDB有官方的驱动如下:C[6]、C++[7]、C#[8]、Erlang[9]、Haskell[10]、Java[11]、JavaScript[12]、Lisp[13]、fibjs[14]、node.JS[15]、Perl[16]、PHP[17]、Python[18]、Ruby[19]、Scala[20]、Go[21]和Rust[22]

目前还有许多非官方的驱动,ColdFusion、[23] Delphi、[24] Erlang、[25][26] Factor、[27] Fantom、[28] Go、[29] JVM languages(Clojure、Groovy [30]、Scala等)、[31] Lua、[32] HTTP REST、[33] Racket[34]和Smalltalk[35]

复制[编辑]

MongoDB的开发人员可以保证一个操作已被复制到至少<math> N </math>个服务器上每个运行的基础。

主从式[编辑]

由于操作都是在主机,从机将复制任何更改的数据。

例如: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)[39] – 这是一个C++Qt写成的跨平台桌面程序。
  • Fang of Mongo[40] –这是一个网页式的界面,由Django和jQuery所构成。
  • Futon4Mongo[41] – 一个以CouchDB Futon Web为界面的MongoDB克隆版本。
  • Mongo3[42] – Ruby写成的界面。
  • MongoHub[43] –一个OS X应用程序。
  • Opricot[44] – 基于浏览器的MongoDB shell,由PHP撰写而成。
  • Database Master MongoDB Tool for Windows
  • RockMongo Best PHP MongoDB Administrator轻量级,支持多国语言。
  • MongoVUE Download CS,图形界面,封装较好。
  • MongoDB Compass,MongoDB官方的跨平台GUI。

安全漏洞[编辑]

2025年12月曝出MongoDB Zlib压缩协议堆内存信息泄露漏洞(称为MongoBleed[45]Template:CVE),攻击者可以在无需身份验证的情况下,从数据库服务器中提取未初始化的堆内存(Heap Memory)读取信息,影响2017年以来发布的所有版本[46]。该漏洞在12月24日修复[47]。虽然MongoDB称没有证据表明有人利用该漏洞[47],但是12月27日,游戏《彩虹六号:围攻》服务器遭到黑客入侵,被认为是黑客利用了该漏洞[48]

著名用户[编辑]

参见[编辑]

参考文献[编辑]

  1. Template:Cite news
  2. Template:Cite web
  3. Template:Cite web
  4. Template:Cite web
  5. Template:Cite web
  6. C页面存档备份,存于互联网档案馆
  7. C++页面存档备份,存于互联网档案馆
  8. C# / .NET页面存档备份,存于互联网档案馆
  9. Erlang页面存档备份,存于互联网档案馆
  10. Haskell页面存档备份,存于互联网档案馆
  11. Java页面存档备份,存于互联网档案馆
  12. JavaScript
  13. Lisp页面存档备份,存于互联网档案馆
  14. fibjs页面存档备份,存于互联网档案馆
  15. node.JS页面存档备份,存于互联网档案馆
  16. Perl页面存档备份,存于互联网档案馆
  17. PHP页面存档备份,存于互联网档案馆
  18. Python页面存档备份,存于互联网档案馆
  19. Ruby页面存档备份,存于互联网档案馆
  20. Scala页面存档备份,存于互联网档案馆
  21. Go页面存档备份,存于互联网档案馆
  22. 脚本错误:没有“citation/CS1”这个模块。
  23. Template:Cite web
  24. Template:Cite web
  25. Template:Cite web
  26. Template:Cite web
  27. Template:Cite web
  28. Template:Cite web
  29. Template:Cite web
  30. Template:Cite web
  31. Template:Cite web
  32. Template:Cite web
  33. Template:Cite web
  34. Template:Cite web
  35. Template:Cite web
  36. Template:Cite web
  37. Template:Cite web
  38. Template:Cite web
  39. Template:Cite web
  40. Template:Cite web
  41. Template:Cite web
  42. Template:Cite web
  43. Template:Cite web
  44. Template:Cite web
  45. Template:Cite web
  46. Template:Cite news
  47. 47.0 47.1 Template:Cite web
  48. Template:Cite news
  49. Template:Cite web
  50. Template:Cite web
  51. Template:Cite web
  52. Template:Cite web
  53. Template:Cite web
  54. Template:Cite news
  55. Template:Cite web
  56. Template:Cite web
  57. Template:Cite web
  58. Template:Cite web
  59. Template:Cite web
  60. Template:Cite news

外部链接[编辑]

Template:NoSQL Template:NavboxV2 Template:Node.js