MongoDB
MongoDB是一種文件導向的資料庫管理系統,用C++等語言撰寫而成,介於關係型資料庫和非關係型資料庫之間,以解決應用程式開發社區中的大量現實問題。MongoDB由MongoDB Inc.(當時是10gen團隊)於2007年10月開發,2009年2月首度推出。2018年,MongoDB改成以伺服器端公眾特許條款分發,不再屬於開源軟件。
開發者 | MongoDB Inc. |
---|---|
首次釋出 | 2009年2月11日[1] |
目前版本 |
|
原始碼庫 | |
程式語言 | C++, Go, JavaScript, Python |
作業系統 | Windows 7/2008R2及以上、Linux、macOS 10.11及以上、Solaris[3]、 FreeBSD[4]等 |
平台 | x86_64、ARM64及s390x,企業版額外支援PPC64LE[5] |
語言 | 英文 |
類型 | 面向文件的數據庫 |
特許條款 | 伺服器端公眾特許條款(SSPL)、商業特許條款、語言驅動採用Apache特許條款[6] |
網站 | www |
部署
編輯MongoDB社區版是免費的,可獲得為Windows、Linux和OS X二進制版本[7]。許多Linux套件管理系統曾經包含MongoDB的套件。2018年因特許條款變更,MongoDB不再屬於開源軟件,Debian、Fedora和Red Hat Enterprise Linux等Linux發行版已從軟件儲存庫中移除了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。
著名用戶
編輯參考文獻
編輯- ^ State of MongoDB March, 2010. DB-Engines. [2018-05-04]. (原始內容存檔於2017-09-18) (美國英語).
- ^ Release Notes for MongoDB 7.0.5.
- ^ Install MongoDB. MongoDB Manual. [2018-09-19]. (原始內容存檔於2020-12-02).
- ^ How-To: MongoDB on FreeBSD 10.x. FreeBSD News. [2018-05-04]. (原始內容存檔於2017-12-28).
- ^ Production Notes - Supported Platforms. MongoDB Manual. [2018-09-19]. (原始內容存檔於2020-12-03).
- ^ MongoDB Licensing. mongodb.com. [2018-09-19]. (原始內容存檔於2020-11-14).
- ^ MongoDB Download Center. MongoDB. [August 14, 2018]. (原始內容存檔於2018-08-14) (美國英語).
- ^ Vaughan-Nichols, Steven J. MongoDB "open-source" Server Side Public License rejected. ZDNet. [January 17, 2019]. (原始內容存檔於2019-01-16) (英語).
- ^ 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) (美國英語).
- ^ 存档副本. [2011-06-23]. (原始內容存檔於2009-09-12).
- ^ Hardware Considerations. [2018-09-19]. (原始內容存檔於2020-12-03).
- ^ C(頁面存檔備份,存於互聯網檔案館)
- ^ C++(頁面存檔備份,存於互聯網檔案館)
- ^ C# / .NET(頁面存檔備份,存於互聯網檔案館)
- ^ Erlang(頁面存檔備份,存於互聯網檔案館)
- ^ Haskell(頁面存檔備份,存於互聯網檔案館)
- ^ Java(頁面存檔備份,存於互聯網檔案館)
- ^ JavaScript
- ^ Lisp(頁面存檔備份,存於互聯網檔案館)
- ^ fibjs(頁面存檔備份,存於互聯網檔案館)
- ^ node.JS(頁面存檔備份,存於互聯網檔案館)
- ^ Perl(頁面存檔備份,存於互聯網檔案館)
- ^ PHP(頁面存檔備份,存於互聯網檔案館)
- ^ Python(頁面存檔備份,存於互聯網檔案館)
- ^ Ruby(頁面存檔備份,存於互聯網檔案館)
- ^ Scala(頁面存檔備份,存於互聯網檔案館)
- ^ Go(頁面存檔備份,存於互聯網檔案館)
- ^ MongoDB Rust Driver, mongodb, 2022-08-05 [2022-08-08], (原始內容存檔於2022-08-08)
- ^ ColdFusion driver. [2011-06-23]. (原始內容存檔於2020-10-01).
- ^ Delphi. [2011-06-23]. (原始內容存檔於2016-08-14).
- ^ Emongo Erlang driver. [2011-06-23]. (原始內容存檔於2020-06-22).
- ^ Erlmongo Erlang driver. [2011-06-23]. (原始內容存檔於2010-04-22).
- ^ Factor driver. [2011-06-23]. (原始內容存檔於2016-04-19).
- ^ Fantom driver. [2011-06-23]. (原始內容存檔於2020-08-03).
- ^ gomongo Go driver. [2011-06-23]. (原始內容存檔於2020-11-09).
- ^ GMongo. [2011-06-23]. (原始內容存檔於2017-09-09).
- ^ JVM language center. [2011-06-23]. (原始內容存檔於2013-01-29).
- ^ LuaMongo. [2011-06-23]. (原始內容存檔於2016-01-18).
- ^ REST interface. [2011-06-23]. (原始內容存檔於2019-11-18).
- ^ 存档副本. [2011-06-23]. (原始內容存檔於2018-07-20).
- ^ Smalltalk driver. [2011-06-23]. (原始內容存檔於2019-10-18).
- ^ Munin plugin. [2011-06-23]. (原始內容存檔於2020-10-24).
- ^ Ganglia plugin. [2011-06-23]. (原始內容存檔於2020-09-16).
- ^ Scout slow-query plugin. [2011-06-23]. (原始內容存檔於2011-07-16).
- ^ Cacti plugin. [2011-06-23]. (原始內容存檔於2016-06-08).
- ^ Robo 3T - formerly Robomongo — native MongoDB management tool (Admin UI). [2018-09-19]. (原始內容存檔於2020-12-05).
- ^ Fang of Mongo. [2011-06-23]. (原始內容存檔於2020-09-12).
- ^ Futon4Mongo. [2011-06-23]. (原始內容存檔於2016-12-25).
- ^ Mongo3. [2011-06-23]. (原始內容存檔於2016-03-05).
- ^ MongoHub. [2011-06-23]. (原始內容存檔於2011-06-13).
- ^ Opricot. [2011-06-23]. (原始內容存檔於2011-06-18).
- ^ 12 Months with MongoDB. 2010-10-25 [2011-05-24]. (原始內容存檔於2020-11-09).
- ^ 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]. (原始內容存檔於2011-05-18).
- ^ 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]. (原始內容存檔於2020-11-09).
- ^ How Python, TurboGears, and MongoDB are Transforming SourceForge.net. PyCon 2010. 2010-02-20 [2010-06-28]. (原始內容存檔於2011-02-11).
- ^ How This Web Site Uses MongoDB. Business Insider. 2010-11-06 [2010-06-28]. (原始內容存檔於2020-09-10).
- ^ 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]. (原始內容存檔於2016-09-08).
- ^ 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