標籤:
mongoDB 介紹(特點、優點、原理)介紹:MongoDB是一個基於分布式檔案儲存體的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充的高效能資料儲存解決方案。特點:高效能、易部署、易使用,儲存資料非常方便。主要功能特性有:Ø 面向集合儲存,易儲存物件類型的資料Ø 模式自由Ø 支援動態查詢Ø 支援完全索引,包含內部對象Ø 支援查詢Ø 支援複製和故障恢複Ø 使用高效的位元據儲存,包括大型物件(如視頻等)Ø 自動處理片段,以支援雲端運算層次的擴充性Ø 支援RUBY,PYTHON,JAVA,C++,PHP等多種語言Ø 檔案儲存體格式為BSON(一種JSON的擴充)Ø 可通過網路訪問使用原理所謂“面向集合”(Collenction-Oriented),意思是資料被分組儲存在資料集中,被稱為一個集合(Collenction)。每個集合在資料庫中都有一個唯一的標識名,並且可以包含無限數目的文檔。集合的概念類似關係型資料庫(RDBMS)裡的表(table),不同的是它不需要定義任何模式(schema)。模式自由(schema-free),意味著對於儲存在mongodb資料庫中的檔案,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的檔案儲存體在同一個資料庫裡。儲存在集合中的文檔,被儲存為鍵-值對的形式。鍵用於唯一標識一個文檔,為字串類型,而值則可以是各種複雜的檔案類型。我們稱這種儲存形式為BSON(Binary JSON)。
mongodb 文檔資料庫,儲存的是文檔(Bson->json的二進位化).
特點:內部執行引擎為JS解譯器, 把文檔儲存成bson結構,在查詢時,轉換為JS對象,並可以通過熟悉的js文法來操作.
mongo和傳統型資料庫相比,最大的不同:
傳統型資料庫: 結構化資料, 定好了表結構後,每一行的內容,必是符合表結構的,就是說--列的個數,類型都一樣.
mongo文檔型資料庫: 表下的每篇文檔,都可以有自己獨特的結構(json對象都可以有自己獨特的屬性和值)
思路: 如果有電影, 影評, 影評的回複, 回複的打分
在傳統型資料庫中, 至少要4張表, 關聯度非常複雜.
在文檔資料庫中,通過1篇文檔,即可完成. 體現出文檔型資料庫的反範式化.
{
fiim:’天龍八部’
comment:[
{content:’王家衛的電影風格’,
reply:[‘支援’,’好’]
}
]
}
01 mongodb 的特點