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