程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 關於mongoDB數據庫簡要介紹

關於mongoDB數據庫簡要介紹

編輯:MySQL綜合教程

關於mongoDB數據庫簡要介紹


MongoDB是一個基於分布式文件存儲的數據庫,由C++語言編寫,旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

MongoDB是一個介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

mongoDB數據庫的特點:

高性能、易部署、易使用,存儲數據非常方便。主要功能特性有:

*面向集合存儲,易存儲對象類型的數據。

所謂"面向集合"(Collection-Oriented),意思是數據被分組存儲在數據集中,被稱為一個集合(Collection)。每個集合在數據庫中都有一個唯一的標識名,並且可以包含無限數目的文檔。集合的概念類似關系型數據庫(RDBMS)裡的表(table),不同的是它不需要定義任何模式(schema)。Nytro MegaRAID技術中的閃存高速緩存算法,能夠快速識別數據庫內大數據集中的熱數據,提供一致的性能改進。

*模式自由(schema-free)。

采用無模式結構存儲,意味著對於存儲在mongodb數據庫中的文件,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的文件存儲在同一個數據庫裡。采用無模式存儲數據是集合區別於RDBMS 中的表的一個重要特征。

*支持動態查詢。

*支持完全索引,包含內部對象。

可以在任意屬性上建立索引,包含內部對象。MongoDB的索引和RDBMS 的索引基本一樣,可以在指定屬性、內部對象上創建索引以提高查詢的速度。除此之外,MongoDB 還提供創建基於地理空間的索引的能力。

*支持查詢。

MongoDB 支持豐富的查詢操作,MongoDB 幾乎支持SQL中的大部分查詢。

*支持復制和故障恢復。

MongoDB 支持主從復制機制,可以實現數據備份、故障恢復、讀擴展等功能。而基於副本集的復制機制提供了自動故障恢復的功能,確保了集群數據不會丟失。

*使用高效的二進制數據存儲,包括大型對象(如視頻等)。

使用二進制格式存儲,可以保存任何類型的數據對象。

*自動處理碎片,以支持雲計算層次的擴展性。

*支持RUBY,PYTHON,JAVA,C++,PHP,C#,Perl,JavaScript等多種語言。

MongoDB 提供了當前所有主流開發語言的數據庫驅動包,開發人員使用任何一種主流開發語言都可以輕松編程,實現訪問MongoDB 數據庫。

*文件存儲格式為BSON(一種JSON的擴展)。

BSON 是對二進制格式的JSON 的簡稱,BSON 支持文檔和數組的嵌套。

*可通過網絡訪問。

可以通過網絡遠程訪問MongoDB 數據庫。

*強大的聚合工具

MongoDB 除了提供豐富的查詢功能外,還提供強大的聚合工具,如count、group 等,支持使用MapReduce 完成復雜的聚合任務。

MongoDB 除了提供豐富的查詢功能外,還提供強大的聚合工具,如count、group 等,支持使用MapReduce 完成復雜的聚合任務。

MongoDB 主要應用場景有:

(1)網站實時數據處理。它非常適合實時的插入、更新與查詢,並具備網站實時數據存儲所需的復制及高度伸縮性。

(2)緩存。由於性能很高,它適合作為信息基礎設施的緩存層。在系統重啟之後,由它搭建的持久化緩存層可以避免下層的數據源過載。

(3)高伸縮性的場景。非常適合由數十或數百台服務器組成的數據庫,它的路線圖中已經包含對MapReduce引擎的內置支持。

(4)大尺寸、低價值的數據,使用傳統的關系型數據庫存儲一些數據時可能會比較昂貴,在此之前,很多時候程序員往往會選擇傳統的文件進行存儲。

不適用的場景如下:

(1)要求高度事務性的系統,例如,銀行或會計系統。傳統的關系型數據庫目前還是更適用於需要大量原子性復雜事務的應用程序。

(2)傳統的商業智能應用,例如針對特定問題的BI 數據庫會產生高度優化的查詢方式。對於此類應用,數據倉庫可能是更合適的選擇。

(3)復雜的跨文檔(表)級聯查詢。

您可能感興趣的文章

  • 合理使用MySQL數據庫索引以使數據庫高效運行
  • 忘記PHPnow的MySQL數據庫密碼的解決辦法
  • yii 數據庫添加,修改,刪除相關操作總結
  • windows環境下mysql數據庫的主從同步備份步驟
  • 關於mysql數據庫大小寫敏感的問題
  • 如何定位,排除和避免MySQL數據庫性能問題
  • 關於修改mysql數據庫字符集的方法
  • 帝國cms數據庫配置文件在那裡

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved