mongodb簡介,mongodb

來源:互聯網
上載者:User

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/



著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.