天天看點

MongoDB(一)——MongoDB的安裝

MongoDB的安裝

MongoDB簡介

MongoDB 是由C++語言編寫的,是一個基于分布式檔案存儲的開源資料庫系統。

在高負載的情況下,添加更多的節點,可以保證伺服器性能。

MongoDB 旨在為WEB應用提供可擴充的高性能資料存儲解決方案。

MongoDB 将資料存儲為一個文檔,資料結構由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數組及文檔數組

MongoDB(一)——MongoDB的安裝

1、MongoDB 是一個面向文檔存儲的資料庫,操作起來比較簡單和容易。

2、你可以在MongoDB記錄中設定任何屬性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")來實作更快的排序。

3、你可以通過本地或者網絡建立資料鏡像,這使得MongoDB有更強的擴充性。

4、如果負載的增加(需要更多的存儲空間和更強的處理能力) ,它可以分布在計算機網絡中的其他節點上這就是所謂的分片。

5、Mongo支援豐富的查詢表達式。查詢指令使用JSON形式的标記,可輕易查詢文檔中内嵌的對象及數組。

6、MongoDb 使用update()指令可以實作替換完成的文檔(資料)或者一些指定的資料字段 。

7、Mongodb中的Map/reduce主要是用來對資料進行批量處理和聚合操作。

8、Map和Reduce。Map函數調用emit(key,value)周遊集合中所有的記錄,将key與value傳給Reduce函數進行處理。

9、Map函數和Reduce函數是使用Javascript編寫的,并可以通過db.runCommand或mapreduce指令來執行MapReduce操作。

10、GridFS是MongoDB中的一個内置功能,可以用于存放大量小檔案。

11、MongoDB允許在服務端執行腳本,可以用Javascript編寫某個函數,直接在服務端執行,也可以把函數的定義存儲在服務端,下次直接調用即可。

12、MongoDB支援各種程式設計語言:RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。

13、MongoDB安裝簡單。

适用場景

1、網站資料:Mongo非常适合實時的插入,更新與查詢,并具備網站實時資料存儲所需的複制及高度伸縮性。

2、緩存:由于性能很高,Mongo也适合作為資訊基礎設施的緩存層。在系統重新開機之後,由M ongo搭建的持久化緩存層可以避免下層的資料源過載。

3、大尺寸,低價值的資料:使用傳統的關系型資料庫存儲一些資料時可能會比較昂貴, 在此之前,很多時候程式員往往會選擇傳統的檔案進行存儲。

4、高伸縮性的場景:Mongo非常适合由數十或數百台伺服器組成的資料庫。Mongo的路線圖中已經包含對Map Reduce弓摩的内置支援。

5、用于對象及 JSON資料的存儲:Mongo的BSON資料格式非常适合文檔化格式的存儲 及查詢。

1、高度事務性的系統:例如銀行或會計系統。傳統的關系型資料庫目前還是更适用于需要大量原子性複雜事務的應用程式。

2、傳統的商業智能應用:針對特定問題的BI資料庫會對産生高度優化的查詢方式。對于此類應用,資料倉庫可能是更合适的選擇。

安裝mongodb

admin 0.000GB

config 0.000GB

local 0.000GB

MongoDB 概念解析

不管我們學習什麼資料庫都應該學習其中的基礎概念,在mongodb中基本的概念是文檔、集合、資料庫,下面我們挨個介紹。

下表将幫助您更容易了解Mongo中的一些概念:

SQL術語/概念

MongoDB術語/概念

解釋/說明

database

資料庫

table

collection

資料庫表/集合

row

document

資料記錄行/文檔

column

field

資料字段/域

index

索引

table joins

表連接配接,MongoDB不支援

primary key

主鍵,MongoDB自動将_id字段設定為主鍵

通過下圖執行個體,我們也可以更直覺的的了解Mongo中的一些概念:

MongoDB(一)——MongoDB的安裝