MongoDB介紹及安裝

來源:互聯網
上載者:User

標籤:style   http   color   io   os   使用   ar   java   for   

mongodb簡介


1、簡介

MongoDB是一個基於分布式檔案儲存體的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充的高效能資料儲存解決方案。

MongoDB是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。他支援的資料結構非常鬆散,是類 似json的bson格式,因此可以儲存比較複雜的資料類型。Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。

2、特點
它的特點是高效能、易部署、易使用,儲存資料非常方便。

主要功能特性有:
*面向集合儲存,易儲存物件類型的資料。
*模式自由。
*支援動態查詢。
*支援完全索引,包含內部對象。
*支援查詢。
*支援複製和故障恢複。
*使用高效的位元據儲存,包括大型物件(如視頻等)。
*自動處理片段,以支援雲端運算層次的擴充性。
*支援RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
*檔案儲存體格式為BSON(一種JSON的擴充)。
*可通過網路訪問。

3、使用原理
所謂“面向 集合”(Collection-Oriented),意思是資料被分組儲存在資料集中,被稱為一個集合(Collection)。每個集合在資料庫中都有 一個唯一的標識名,並且可以包含無限數目的文檔。集合的概念類似關係型資料庫(RDBMS)裡的表(table),不同的是它不需要定義任何模式 (schema)。

模式自由(schema-free),意味著對於儲存在mongodb資料庫中的檔案,我們不需要知道它的任何結構定義。如果需要的話,你完全可以把不同結構的檔案儲存體在同一個資料庫裡。

儲存在集合中的文檔,被儲存為鍵-值對的形式。鍵用於唯一標識一個文檔,為字串類型,而值則可以是各種複雜的檔案類型。我們稱這種儲存形式為BSON(Binary Serialized Document Format)。

4、實際應用
MongoDB服務端可運行在Linux、Windows或IOS平台,支援32位和64位應用,預設連接埠為27017。推薦運行在64位平台,因為MongoDB在32位元模式運行時支援的最大檔案尺寸為2GB。


BSON入門


1、概念

BSON(Binary Serialized Document Format)是一種類json的一種二進位形式的儲存格式,簡稱Binary JSON,它和JSON一樣,支援內嵌的文檔對象和數組對象,但是BSON有JSON沒有的一些資料類型,如Date和BinData類型。

BSON可以做為網路資料交換的一種儲存形式,這個有點類似於Google的Protocol Buffer,但是BSON是一種schema-less的儲存形式,它的優點是靈活性高,但它的缺點是空間利用率不是很理想。

BSON有三個特點:輕量性、可遍曆性、高效性。

{“hello":"world"} 這是一個BSON的例子,其中"hello"是key name,它一般是cstring類型,位元組表示是cstring::= (byte*) "/x00" ,其中*表示零個或多個byte位元組,/x00表示結束符;後面的"world"是value值,它的類型一般是 string,double,array,binarydata等類型。

2、使用方式
MongoDB 使用了BSON這種結構來儲存資料和網路資料交換。把這種格式轉化成文檔這個概念(Document),因為BSON是schema-free的,所以在 MongoDB中所對應的文檔也有這個特徵,這裡的一個Document也可以理解成關聯式資料庫中的一條記錄(Record),只是這裡的 Document的變化更豐富一些,如Document可以嵌套。

MongoDB以BSON做為其儲存結構的一種重要原因是其可遍曆性。

3、例子
3.1 一個Document的BSON表示

{    title:"MongoDB",    last_editor:"192.168.1.122",    last_modified:new Date("27/06/2011"),    body:"MongoDB introduction",    categories:["Database","NoSQL","BSON"],    revieved:false }

這是一個簡單的BSON結構體,其中每一個element都是由key/value對組成的。

3.2 一個嵌套的例子

{    name:"lemo",    age:"12",    address:{        city:"suzhou",        country:"china",        code:215000 },    scores:[        {"name":"english","grade:3.0},        {"name":"chinese","grade:2.0}  ]}

這是一種相對複雜點的例子,其中包括了地址對象和分數對象數組,這裡使用了嵌套文檔對象與文檔對象資料來表示單個學生的資訊,這種嵌套的文檔結構要使用關聯式資料庫來做是比較複雜的。


Windows7下安裝MongoDB


1、下載

地址:http://www.mongodb.org/downloads(32位還是64位自行選擇)。
我下載的是:mongodb-win32-x86_64-2.4.5.zip

2、解壓
把mongodb-win32-x86_64-2.4.5.zip放到某個位置,解壓。我放的是D:\dev目錄。
解壓後的路徑為D:\dev\mongodb-win32-x86_64-2.4.5

3. 安裝準備
MongoDB預設的資料目錄為:C:\data\db。如果不用預設目錄,則需要在在mongod.exe命令後加--dbpath參數。
建立資料目錄。我建立的是D:\dev\mongodb-win32-x86_64-2.4.5\data\db
建立日誌目錄及其檔案。我建立的是D:\dev\mongodb-win32-x86_64-2.4.5\log及D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt。

4、啟動MongoDB
開啟cmd視窗(cmd.exe),進入D:\dev\mongodb-win32-x86_64-2.4.5\bin,執行mongod.exe命令,見。
mongod.exe --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db

--logpath 參數是設定記錄檔的路徑。
--dbpath 參數是設定資料庫檔案的存放路徑。
mongod.exe命令的所有參數選項可通過mongod.exe --help查看。

5、作為服務進行安裝
使用管理員權限開啟windows的cmd視窗,進入D:\dev\mongodb-win32-x86_64-2.4.5\bin目錄。
mongod.exe --install --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db
--install 參數是設定安裝為伺服器

設定為服務後,即可在cmd(管理員權限開啟的windows cmd視窗)視窗用服務的方式啟動或停止MongoDB。
net start mongodb 啟動mongodb服務
net stop mongodb 啟動mongodb服務

6、進入shell環境介面
進入sheelMongoDB後,在cmd視窗進入D:\dev\mongodb-win32-x86_64-2.4.5\bin目錄,輸入mongo.exe,則可以進入shell環境介面。

MongoDB介紹及安裝

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.