MongoDB
MongoDB是一種面向文檔的數據庫管理系統,用C++等語言撰寫而成,以解決應用程序開發社區中的大量現實問題。MongoDB由MongoDB Inc.(當時是10gen團隊)於2007年10月開發,2009年2月首度推出,現以服務器端公共許可(SSPL)分發。
| 開發者 | MongoDB Inc. |
|---|---|
| 初始版本 | 2009年2月11日[1] |
| 穩定版本 | 4.2.1 (2019年10月18日) |
| 預覽版本 | 4.2.1-rc0 (2019年10月11日) |
| 源代碼庫 | https://github.com/mongodb/mongo |
| 編程語言 | C++, Go, JavaScript, Python |
| 操作系統 | Windows 7/2008R2及以上、Linux、macOS 10.11及以上、Solaris[2]、 FreeBSD[3]等 |
| 系統平台 | x86_64、ARM64及s390x,企業版額外支持PPC64LE[4] |
| 語言 | 英文 |
| 類型 | 面向文檔的數據庫 |
| 許可協議 | 服務器端公共許可證(SSPL)、商業許可證、語言驅動採用Apache許可證[5] |
| 網站 | https://www.mongodb.com |
部署編輯
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,C++,C# / .NET,Erlang, Haskell,Java,JavaScript,Lisp,fibjs,node.JS, Perl,PHP,Python,Ruby,Scala,Go。
目前還有許多非官方式的驅動,ColdFusion,[11] Delphi,[12] Erlang,[13][14] Factor,[15] Fantom,[16] Go,[17] JVM languages (Clojure, Groovy [18], Scala, etc.),[19] Lua,[20] HTTP REST,[21] Racket,[22]和Smalltalk.[23]。
複製編輯
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)[28] – 這是一個C++及Qt寫成的跨平台桌面程序。
- Fang of Mongo[29] –這是一個網頁式的界面,由Django和jQuery所構成.
- Futon4Mongo[30] – a clone of the CouchDB Futon web interface for MongoDB.
- Mongo3[31] – Ruby寫成的介面.
- MongoHub[32] –一個OS X應用程式.
- Opricot[33] – a browser-based MongoDB shell,由PHP撰寫而成.
- Database Master MongoDB Tool for Windows
- RockMongo Best PHP MongoDB Administrator輕量級,支持多國語言。
- MongoVUE Download CS,圖形界面,封裝較好。
- MongoDB Compass,MongoDB官方的跨平台GUI。
著名用戶編輯
參考文獻編輯
- ^ State of MongoDB March, 2010. DB-Engines (美國英語).
- ^ Install MongoDB. MongoDB Manual.
- ^ How-To: MongoDB on FreeBSD 10.x. FreeBSD News.
- ^ Production Notes - Supported Platforms. MongoDB Manual.
- ^ MongoDB Licensing. mongodb.com.
- ^ MongoDB Download Center. MongoDB. [August 14, 2018] (美國英語).
- ^ Vaughan-Nichols, Steven J. MongoDB "open-source" Server Side Public License rejected. ZDNet. [January 17, 2019] (英語).
- ^ 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] (美國英語).
- ^ [1]
- ^ Hardware Considerations
- ^ ColdFusion driver
- ^ Delphi
- ^ Emongo Erlang driver
- ^ Erlmongo Erlang driver
- ^ Factor driver
- ^ Fantom driver
- ^ gomongo Go driver
- ^ GMongo
- ^ JVM language center
- ^ LuaMongo
- ^ REST interface
- ^ [2]
- ^ Smalltalk driver
- ^ Munin plugin
- ^ Ganglia plugin
- ^ Scout slow-query plugin 頁面存檔備份,存於網際網路檔案館
- ^ Cacti plugin
- ^ Robo 3T - formerly Robomongo — native MongoDB management tool (Admin UI). [2018-09-19].
- ^ Fang of Mongo
- ^ Futon4Mongo
- ^ Mongo3
- ^ MongoHub
- ^ Opricot 網際網路檔案館的存檔,存檔日期2011-06-18.
- ^ 12 Months with MongoDB. 2010-10-25 [2011-05-24].
- ^ MongoDB - diasporatest.com. 2010-12-23 [2010-12-23]. (原始內容存檔於2010-11-24).
- ^ 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]. (原始內容存檔於2010-06-12).
- ^ bit.ly user history, auto-sharded - Presentation at MongoNYC. 2010-05-21 [2010-06-28]. (原始內容存檔於2010-06-11).
- ^ Maher, Jacqueline. Building a Better Submission Form. NYTimes Open Blog. 2010-05-25 [2010-06-28].
- ^ How Python, TurboGears, and MongoDB are Transforming SourceForge.net. PyCon 2010. 2010-02-20 [2010-06-28]. (原始內容存檔於2010-07-13).
- ^ 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]. (原始內容存檔於2011-06-14).
- ^ 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]. (原始內容存檔於2011-05-09).
- ^ 楊惠芬. 趨勢科技導入MongoDB-追蹤管理全球10萬個行動裝置,上萬筆資料同時寫入. ithome. 2013-01-17 [2013-01-21]. (原始內容存檔於2013-01-28).
外部連結編輯
- Official MongoDB Project Website
- mongoDB User Group on LinkedIn
- MongoDB news and articles on myNoSQL
- Eric Lai. (2009, July 1). No to SQL? Anti-database movement gains steam
- MongoDB articles on NoSQLDatabases.com
- June 2009 San Francisco NOSQL Meetup Page
- Designing for the Cloud at MIT Technology Review
- EuroPython Conference Presentation
- YouTube上的Non-relational data persistence in Java using MongoDB - Software Engineer at MongoDB
- Interview with Mike Dirolf on The Changelog about MongoDB background and design decisions
- MongoMvc - A MongoDB Demo App with ASP.NET MVC
- FAQs about MongoDB