MongoDB 是一個免費分發的,開源的,無架構的面向文檔的數據庫,旨在提供可靠,可擴展且高性能的解決方案。它也被稱為世界第一的NoSQL數據庫。
功能一目了然
主要功能包括面向文檔的存儲,完整的索引支持,高可用性,複製,自動分片,查詢,快速就地更新,映射和減少功能,GridFS支持,MongoDB管理服務和專業支持。
它支持具有動態模式的JSON樣式文檔,提供基於文檔和豐富的查詢,可以索引任何屬性,並且可以跨WAN(廣域網)和LAN(局域網)進行鏡像。
此外,該項目可以橫向擴展而不會丟失任何功能,包含提供無爭用性能的原子修飾符,為用戶提供靈活的數據處理和聚合,並允許您存儲任何大小的文件。
內置監控和備份功能
另一個有趣的功能是內置的監控和備份功能,它是專為MongoDB設計的。第三方工具提供此類功能,但最好堅持使用默認功能以獲得更高的穩定性和更高的性能。
希望與MongoDB合作的公司也可以使用商業功能,這將有助於他們通過主動支持和企業級功能降低成本,縮短產品上市時間並降低風險。
引擎蓋和支持的操作系統
MongoDB是一個完全用C ++編程語言編寫的跨平台數據庫引擎。它正式支持所有GNU / Linux發行版,以及Solaris,Microsoft Windows和Apple的Mac OS X操作系統。它已經過優化,可以在64位和32位計算機上運行。
為方便起見,可以在Softoware以及項目的主頁上下載64位和32位GNU / Linux系統的預構建二進制包以及通用源存檔。但是,它也可以從幾個Linux發行版的默認軟件存儲庫中安裝。
此版本中的新功能:
- MongoDB 3.6比以往任何時候都更容易以最自然,最有效和無摩擦的方式處理數據。簡而言之,MongoDB可幫助您在構建和擴展應用程序時加快速度。關鍵3.6功能包括:
- 通過更改流,您可以構建響應式Web,移動和IoT應用程序,這些應用程序可以查看,過濾和處理數據庫中發生的數據更改。每當MongoDB中的數據發生變化時,下游系統會自動實時通知更新。變更流提供了一種簡單有效的方法來構建被動的,事件驅動的應用程序。
- 可重試寫入將處理瞬態系統故障的複雜性從應用程序移動到數據庫。 MongoDB不是必須實現大量自定義客戶端代碼,而是使用一次性語義自動重試寫操作。
- 使用Schema驗證,使用從建議的IETF JSON Schema標準派生的語法,我們擴展了最初在MongoDB 3.2中引入的文檔驗證功能。現在,DevOps和DBA團隊可以為每個集合定義一個規定的文檔結構,直到嵌套數組中的各個字段的級別。您可以根據需要對其進行調整:鎖定架構,將其打開,將其應用於字段的子集 - 無論您需要為項目的每個應用程序或階段做什麼。
- 默認情況下綁定到localhost:使用MongoDB 3.6所有平台上的所有MongoDB程序包都拒絕與數據庫的所有外部連接,除非管理員另行明確配置。結合新的IP白名單支持,管理員可以將MongoDB配置為僅接受已批准IP地址上的外部連接。這些增強功能大大降低了無意中將MongoDB實例無意中部署到生產環境中的風險。
- 聚合增強功能支持更具表現力的查詢,讓您更快地訪問數據驅動的洞察。 MongoDB的文檔數據模型允許您以與在代碼中表示實體相同的方式對實體進行建模 - 作為完整對象 - 因此您無需擔心JOIN。但對於分析,跨多個集合連接數據很有用。我們在MongoDB 3.2中引入了左外部equijoins,但是現在我們使用更強大的$ lookup運算符來擴展它,以支持等效的SQL子查詢和非等值連接。 MongoDB的Connector for BI,它使MongoDB可用作基於SQL的分析和數據可視化工具中的數據源,利用這些增強功能提供更高的性能,並將更多的分析操作本機推送到數據庫。
- MongoDB Atlas是在公共雲中運行MongoDB的最佳方式。 MongoDB 3.6可作為Atlas上的完全託管服務提供,包括支持全局應用程序的重要新功能,以及自動可擴展性和性能優化。
- 跨區域複製允許Atlas集群跨越多個雲提供商區域,在發生地理中斷時保持持續可用性,並通過將數據分佈到更靠近用戶的位置來提供最佳的客戶體驗。 Atlas現在還支持自動擴展與群集相關的存儲,使您可以更輕鬆地管理容量。新的性能顧問不斷強調慢速運行的查詢,並提供智能索引建議以提高性能。
版本3.6.4中的新功能:
- MongoDB 3.6比以往任何時候都更容易以最自然,最有效和無摩擦的方式處理數據。簡而言之,MongoDB可幫助您在構建和擴展應用程序時加快速度。關鍵3.6功能包括:
- 通過更改流,您可以構建響應式Web,移動和IoT應用程序,這些應用程序可以查看,過濾和處理數據庫中發生的數據更改。每當MongoDB中的數據發生變化時,下游系統會自動實時通知更新。變更流提供了一種簡單有效的方法來構建被動的,事件驅動的應用程序。
- 可重試寫入將處理瞬態系統故障的複雜性從應用程序移動到數據庫。 MongoDB不是必須實現大量自定義客戶端代碼,而是使用一次性語義自動重試寫操作。
- 使用Schema驗證,使用從建議的IETF JSON Schema標準派生的語法,我們擴展了最初在MongoDB 3.2中引入的文檔驗證功能。現在,DevOps和DBA團隊可以為每個集合定義一個規定的文檔結構,直到嵌套數組中的各個字段的級別。您可以根據需要對其進行調整:鎖定架構,將其打開,將其應用於字段的子集 - 無論您需要為項目的每個應用程序或階段做什麼。
- 默認情況下綁定到localhost:使用MongoDB 3.6所有平台上的所有MongoDB程序包都拒絕與數據庫的所有外部連接,除非管理員另行明確配置。結合新的IP白名單支持,管理員可以將MongoDB配置為僅接受已批准IP地址上的外部連接。這些增強功能大大降低了無意中將MongoDB實例無意中部署到生產環境中的風險。
- 聚合增強功能支持更具表現力的查詢,讓您更快地訪問數據驅動的洞察。 MongoDB的文檔數據模型允許您以與在代碼中表示實體相同的方式對實體進行建模 - 作為完整對象 - 因此您無需擔心JOIN。但對於分析,跨多個集合連接數據很有用。我們在MongoDB 3.2中引入了左外部equijoins,但是現在我們使用更強大的$ lookup運算符來擴展它,以支持等效的SQL子查詢和非等值連接。 MongoDB的Connector for BI,它使MongoDB可用作基於SQL的分析和數據可視化工具中的數據源,利用這些增強功能提供更高的性能,並將更多的分析操作本機推送到數據庫。
- MongoDB Atlas是在公共雲中運行MongoDB的最佳方式。 MongoDB 3.6可作為Atlas上的完全託管服務提供,包括支持全局應用程序的重要新功能,以及自動可擴展性和性能優化。
- 跨區域複製允許Atlas集群跨越多個雲提供商區域,在發生地理中斷時保持持續可用性,並通過將數據分佈到更靠近用戶的位置來提供最佳的客戶體驗。 Atlas現在還支持自動擴展與群集相關的存儲,使您可以更輕鬆地管理容量。新的性能顧問不斷強調慢速運行的查詢,並提供智能索引建議以提高性能。
版本中的新功能:
- MongoDB 3.6比以往任何時候都更容易以最自然,最有效和無摩擦的方式處理數據。簡而言之,MongoDB可幫助您在構建和擴展應用程序時加快速度。關鍵3.6功能包括:
- 通過更改流,您可以構建響應式Web,移動和IoT應用程序,這些應用程序可以查看,過濾和處理數據庫中發生的數據更改。每當MongoDB中的數據發生變化時,下游系統會自動實時通知更新。變更流提供了一種簡單有效的方法來構建被動的,事件驅動的應用程序。
- 可重試寫入將處理瞬態系統故障的複雜性從應用程序移動到數據庫。 MongoDB不是必須實現大量自定義客戶端代碼,而是使用一次性語義自動重試寫操作。
- 使用Schema驗證,使用從建議的IETF JSON Schema標準派生的語法,我們擴展了最初在MongoDB 3.2中引入的文檔驗證功能。現在,DevOps和DBA團隊可以為每個集合定義一個規定的文檔結構,直到嵌套數組中的各個字段的級別。您可以根據需要對其進行調整:鎖定架構,將其打開,將其應用於字段的子集 - 無論您需要為項目的每個應用程序或階段做什麼。
- 默認情況下綁定到localhost:使用MongoDB 3.6所有平台上的所有MongoDB程序包都拒絕與數據庫的所有外部連接,除非管理員另行明確配置。結合新的IP白名單支持,管理員可以將MongoDB配置為僅接受已批准IP地址上的外部連接。這些增強功能大大降低了無意中將MongoDB實例無意中部署到生產環境中的風險。
- 聚合增強功能支持更具表現力的查詢,讓您更快地訪問數據驅動的洞察。 MongoDB的文檔數據模型允許您以與在代碼中表示實體相同的方式對實體進行建模 - 作為完整對象 - 因此您無需擔心JOIN。但對於分析,跨多個集合連接數據很有用。我們在MongoDB 3.2中引入了左外部equijoins,但是現在我們使用更強大的$ lookup運算符來擴展它,以支持等效的SQL子查詢和非等值連接。 MongoDB的Connector for BI,它使MongoDB可用作基於SQL的分析和數據可視化工具中的數據源,利用這些增強功能提供更高的性能,並將更多的分析操作本機推送到數據庫。
- MongoDB Atlas是在公共雲中運行MongoDB的最佳方式。 MongoDB 3.6可作為Atlas上的完全託管服務提供,包括支持全局應用程序的重要新功能,以及自動可擴展性和性能優化。
- 跨區域複製允許Atlas集群跨越多個雲提供商區域,在發生地理中斷時保持持續可用性,並通過將數據分佈到更靠近用戶的位置來提供最佳的客戶體驗。 Atlas現在還支持自動擴展與群集相關的存儲,使您可以更輕鬆地管理容量。新的性能顧問不斷強調慢速運行的查詢,並提供智能索引建議以提高性能。
版本3.4.6中的新功能:
- 已解決的問題:
- SERVER-27347:僅關閉繁忙的WiredTiger標識上的空閒緩存游標。
- SERVER-29618:$ lookup和$ unwind返回錯誤結果後聚合管道中的$ geoWithin。
- WT-3362:游標打開時不應該在檢查點的持續時間內阻止。
版本3.4.1中的新功能:
- SERVER-27124禁止readConcern:多數讀取pv0
- SERVER-27201 $ graphLookup觸發空指針取消引用
- SERVER-27207在視圖中查找並通過mongos排序可能會錯誤地返回空結果集
- SERVER-27213兩個$ match階段組合不正確,導致結果不正確。
- SERVER-27300禁止使用非簡單排序規則索引BSONType :: Symbol
- SERVER-27210 3.4.0 mongo shell無法使用MongoURI與“ssl = true”連接
- SERVER-27271 rolesInfo命令引發System.InvalidOperationException:重複元素名稱'roles'。
- SERVER-26870有時即使刪除了集合,也不會刪除集合數據文件
- TOOLS-1541支持導出視圖
版本3.2.5中的新功能:
- 對WiredTiger穩定性SERVER-19751,SERVER-的改進19673,和SERVER-19573。
- 修復了SSL和審核之間交互的問題。 SERVER-19538。
- 解決了分片系統SERVER-19464上聚合$ sort的問題。
- 所有問題均於3.0.6結束
版本3.0.6中的新功能:
- 對WiredTiger穩定性SERVER-19751,SERVER-19673和SERVER-19573的改進。
- 修復了SSL和審核之間交互的問題。 SERVER-19538。
- 解決了分片系統SERVER-19464上聚合$ sort的問題。
- 所有問題均於3.0.6結束
版本3.0.4中的新功能:
- 修復從塊遷移過程中並發插入的錯過寫入使用WiredTiger原色的碎片:SERVER-18822
- 使用有線Tiger存儲引擎解決與upup = true的多次更新更新的寫衝突:SERVER-18213
- 修復輔助讀取可能阻止複制的情況:SERVER-18190
- 使用WiredTiger和大於16kb的文檔提高Windows性能:SERVER-18079
- 修復在意外系統重啟後未正確恢復WiredTiger數據文件的問題:SERVER-18316
版本3.0.0中的新功能:
- 7-10x更好的表現:
- MongoDB 3.0中新的WiredTiger存儲引擎為寫入密集型應用程序提供了7-10倍的吞吐量,並且具有更精細的文檔級並發控制。這可以帶來巨大的性能提升,而且可以減少用於大量項目的硬件,例如您的下一個物聯網,客戶數據管理,社交和移動應用程序。
- 減少高達80%的存儲空間:
- MongoDB現在支持本機壓縮,允許您將物理存儲空間減少多達80%。根據您的應用需求,您可以更靈活地在不同的壓縮算法之間進行選擇,以優化性能和存儲效率。
- 通過更細粒度的並發控制和內置壓縮,MongoDB 3.0可以讓您簡化架構,讓您可以用更少的硬件做更多事情。
- 將運營開銷減少高達95%:
- Ops Manager是運行MongoDB的最佳方式。該解決方案使日常任務像按下按鈕一樣簡單,並消除了以前管理MongoDB所涉及的手動和耗時的任務。您現在可以輕鬆地部署,監控,備份和擴展MongoDB。
- 針對您的工作量優化的可插拔存儲:
- 我們理解,隨著數據驅動應用程序的日益複雜,“一刀切”的應用程序存儲方法不再削減它。這就是MongoDB 3.0包含可插拔存儲引擎API以使用新功能擴展數據庫的原因。
- 全球低延遲:
- 今天的領先應用程序是全球性的,為需要即時滿足的始終關聯的受眾提供服務。使用MongoDB,您現在可以輕鬆地向全世界的用戶分發多達50個MongoDB副本,從而減少網絡延遲的影響並提供更好的用戶體驗。
- 讓您更俱生產力的改進:
- MongoDB 3.0包括對MongoDB查詢語言的一些操作改進以及數據庫中包含的工具。它們包括......
- 加載和導出速度更快。使用MongoDB修訂的多線程mongoimport,mongoexport,mongodump,mongorestore和mongooplog工具,可以更高的速度和更高的效率加載和提取數據。
- 更輕鬆的查詢優化。使用新的explain()方法更好地理解查詢性能。現在可以在不先運行查詢的情況下計算和查看查詢計劃。查詢計劃可以應用於更廣泛的查詢類型集,並且可以改進錯誤處理。
- 更快的調試。您現在可以更好地控制日誌消息的粒度和服務器的特定功能區域,以更精確地調查問題。您可以配置應公開數據庫的哪些特定組件以進行更高清晰度的日誌記錄,並為每條日誌消息添加嚴重性級別。
- 更豐富的地理空間應用。通過添加大多邊形選擇,MongoDB的地理空間支持擴展到包括可以跨越地球表面50%以上的多半球查詢。例如,航空公司現在可以運行查詢,以識別過去24小時內穿越多個半球的所有飛機。
- 更好的時間序列分析。開發人員可以使用聚合框架的新$ dateToString運算符,使用更少的代碼構建更豐富的時間序列分析查詢。
- 確保監管和內部合規:
- MongoDB 3.0通過更強大的審計框架增加了數據庫的現有安全功能。
- 審計現在不僅僅是捕獲管理操作(即架構操作,身份驗證和授權活動),還包括將讀取和寫入(DML)操作記錄到數據庫。您可以針對MongoDB的任何操作構建和過濾審計跟踪,而無需依賴第三方工具。 3.0還引入了基於角色的審計。審計是MongoDB Enterprise Advanced的一部分。
版本2.6.7 / 3.0 RC7中的新功能:
- 當分片具有減少的mongos內存佔用量幾個標籤SERVER-16683
- 如果主服務器已關閉,則刪除了對分片版本的檢查SERVER-16237
- 修正:/etc/init.d/mongod啟動腳本失敗,帶有dirname消息SERVER-16081
- 修正:mongos可以通過請求比所需更多的結果來使分片達到內存中的排序限制SERVER-14306
- 所有問題均已在2.6.7 中結束
版本2.6.5中的新功能:
- $ rename現在使用正確的虛線源路徑SERVER-15029
- 部分書寫的期刊最後一節不影響恢復SERVER-15111
- 創建SERVER-15369 時顯式為零的.ns文件
- 如果謂詞生成空範圍索引掃描SERVER-14961 ,則計劃排名將不再支持交叉計劃
- 為SUSE 11 SERVER-10642生成社區和企業軟件包
- 所有問題均已在2.6.5 中結束
版本2.5.5中的新功能:
- 新功能:
- 插入,更新,刪除的新寫入操作方法
- 錯誤修復:
- SNMP代理無法啟動
- 向smoke.py 添加模塊套件支持
版本2.5.4中的新內容:
- 向壓縮命令添加選項以保留填充
- 用戶定義的角色
- 服務器在用戶指定的時間限制後自動中止查詢/命令
版本2.4.9中的新功能:
- 錯誤修復:
- 錯誤的openssl回調註冊可能導致崩潰
- clang編譯mongo shell在退出時崩潰,並在v8中使用堆棧跟踪
- 登錄~ReplicaSetMonitor()崩潰
- 非數字expiresAfterSeconds導致錯誤的TTL查詢
- Shell在長時間自動完成操作後停止工作
- 無法回滾usePowerOf2Sizes不應導致致命錯誤
- SERVER-11869支持mongod GLE中的非客戶端opTime
- $裡面的投影$ elemMatch導致分段錯誤
- 將$ where where predicate傳遞給db.currentOp()會崩潰mongod
- 無法在配置文件 中設置false setParameter選項
- textIndexVersion兼容性檢查未完成
- writeback偵聽器可能無法從ClientInfo :: getLastError 返回正確的代碼
- 當主要關閉時,Mongos無法執行slaveOk查詢
- 命名空間的新分片連接在所有分片上觸發setShardVersion
- 讀取首選項的重試邏輯也應適用於延遲recv()網絡故障
- mongos中的slaveok版本控制邏輯也應該適用於讀取首選項
- 修改收集選項可能導致收集的恢復失敗
新功能:
- 增加2.6授權功能的未來兼容性
- 修復配置服務器的dbhash緩存問題
評論沒有發現