mongodb簡介,mongodb
簡述:
MongoDB是一個基於分布式檔案儲存體的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充的高效能資料儲存解決方案。
MongoDB是一個介於 關聯式資料庫 和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。
他支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料類型。
Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立 索引 。
在高負載的情況下,添加更多的節點,可以保證伺服器效能。
MongoDB 旨在為WEB應用提供可擴充的高效能資料儲存解決方案。
MongoDB 將資料存放區為一個文檔。MongoDB是一個基於分布式檔案儲存體的資料庫。
特點:
它的特點是高效能、易部署、易使用,儲存資料非常方便。主要功能特性有:
* 面向集合儲存,易儲存物件類型的資料。
* 模式自由。
* 支援動態 查詢 。
* 支援完全索引,包含內部對象。
* 支援查詢。
* 支援複製和故障恢複。
* 使用高效的位元據儲存,包括大型物件(如視頻等)。
* 自動處理片段,以支援雲端運算層次的擴充性。
* 支援 RUBY , PYTHON , JAVA , C++ , PHP , C# 等多種語言。
* 檔案儲存體格式為BSON(一種JSON的擴充)。
* 可通過 網路 訪問。
使用原理:
所謂“面向集合”(Collection-Oriented),意思是資料被分組儲存在資料集中,被稱為一個集合(Collection)。每個集合在資料庫中都有一個唯一的標識名,並且可以包含無限數目的文檔。集合的概念類似 關係型資料庫 (RDBMS)裡的表(table),不同是它不需要定義任何模式(schema)。
模式自由(schema-free),意味著對於儲存在mongodb資料庫中的檔案,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的檔案儲存體在同一個資料庫裡。
儲存在集合中的文檔,被儲存為鍵-值對的形式。鍵用於唯一標識一個文檔,為字串類型,而值則可以是各種複 雜的文 件類型。我們稱這種儲存形式為 BSON (Binary Serialized Document Format)。
Distributed File System:
Distributed File System(Distributed File System)是指檔案系統管理的實體儲存體資源不一定直接連接在本地節點上,而是通過電腦網路與節點相連。
Distributed File System的設計基於客戶機/伺服器模式。一個典型的網路可能包括多個供多使用者訪問的伺服器。另外,對等特性允許一些系統扮演客戶機和伺服器的雙重角色。
HBase是一個分布式的、面向列的開來源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化資料的 分布式儲存系統 。
Yonghong Data Mart是基於自有技術研發的一款資料存放區、資料處理的軟體。Yonghong Data Mart的分布式檔案儲存體系統 (ZDFS)是在Hadoop HDFS基礎上進行的改造和擴充,將伺服器叢集內所有節點上儲存的檔案統一管理和儲存。
實際應用:
MongoDB服務端可運行在 Linux 、 Windows 或mac os x平台,支援32位和64位應用,預設連接埠為27017。推薦運行在64位平台,因為MongoDB在32位元模式運行時支援的最大檔案尺寸為2GB。
資料邏輯結構:
MongoDB 體繫結構之-的邏輯結構。MongoDB 的邏輯結構是一種階層。主要由:
文檔(document)、集合(collection)、資料庫(database)這三部分組成的。邏輯結構是面向使用者的,使用者使用MongoDB 開發應用程式使用的就是邏輯結構。
_ MongoDB 的文檔(document),相當於關聯式資料庫中的一行記錄。
_ 多個文檔組成一個集合(collection),相當於關聯式資料庫的表。
_ 多個集合(collection),邏輯上組織在一起,就是資料庫(database)。
_ 一個MongoDB 執行個體支援多個資料庫(database)。
MongoDB |
關係型資料庫 |
文檔(document) |
行(row) |
集合(collection) |
表(table) |
資料庫(database) |
資料庫(database) |
_id key:
MongoDB 支援的資料類型中,_id 是其自有產物,下面對其做些簡單的介紹。
儲存在MongoDB 集合中的每個文檔(document)都有一個預設的主鍵_id,這個主鍵名稱是固定的,它可以是MongoDB 支援的任何資料類型,預設是ObjectId。在關聯式資料庫schema設計中,主鍵大多是數值型的,比如常用的int 和long,並且更通常的是主鍵的取值由資料庫自增獲得,這種主鍵數值的有序性有時也表明了某種邏輯。反觀MongoDB,它在設計之初就定位於分布式儲存系統,所以它原生的不支援自增主鍵。
學習網址
中文社區:http://www.mongoing.com
線上教程:http://university.mongodb.com
MongoDB的官網是:http://www.mongodb.org/
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。