MongoDB

MongoDB是一種面向文档的数据库管理系统,用C++等语言撰寫而成,分類介于关系型数据库和非关系型数据库之间的NoSQL。MongoDB由(当时是10gen團隊)于2007年10月开发,2009年2月首度推出。2018年,MongoDB改成以分发,不再属于开源软件。

部署
MongoDB社区版是免费的,支援Windows、Linux和macOS三種作業系統。許多Linux套件管理系統曾经包含MongoDB的套件。2018年因许可证变更,MongoDB不再属于开源软件,Debian、Fedora和Red Hat Enterprise Linux等Linux发行版已從软件存储库中移除了MongoDB。

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

語言支援
MongoDB有官方的驅動如下:C、C++、C#、Erlang、Haskell、Java、JavaScript、Lisp、fibjs、node.JS、Perl、PHP、Python、Ruby、Scala、Go和Rust。

目前還有許多非官方的驅動,ColdFusion、 Delphi、 Erlang、 Factor、 Fantom、 Go、 JVM languages(Clojure、Groovy 、Scala等)、 Lua、 HTTP REST、 Racket和Smalltalk。

複製
MongoDB的開發人員可以保證一個操作已被複製到至少 N 個伺服器上每個運行的基礎。

主從式
由於操作都是在主机,從機將複製任何更改的數據。

例如: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有:

安全漏洞
2025年12月曝出MongoDB Zlib压缩协议堆内存信息泄露漏洞(称为MongoBleed,),攻击者可以在无需身份验证的情况下,从数据库服务器中提取未初始化的堆内存(Heap Memory)读取信息,影响2017年以来发布的所有版本。该漏洞在12月24日修复。虽然MongoDB称没有证据表明有人利用该漏洞。

著名用戶
*

  • Diaspora

*

  • foursquare
  • bit.ly
  • The New York Times
  • SourceForge
  • Business Insider
  • Etsy
  • LHC

*
*趨勢科技

參見

  • Cassandra
  • BSON
  • MEAN
  • 服务器端脚本

参考文献
外部連結
*

*

评论 (0)

  • 还没有评论,来抢沙发吧。