MongoDB 簡介

 

MongoDB 簡介

MongoDB 是一個基於分佈式文件存儲的數據庫,由 C++ 編寫,旨在爲 WEB 應用提供可擴展、高性能的數據存儲解決方案。mongodb

MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫中功能最豐富、最像關係數據庫的。在高負載的狀況下,添加更多的節點,能夠保證服務器性能。數據庫

 

MongoDB 將數據存儲爲一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔相似於 JSON 對象,字段值能夠包含其餘文檔,數組及文檔數組。編程

{數組

  field1:value1,       //一個字段即一個鍵值對,值能夠是多種數據類型。鍵值對之間用逗號分隔。瀏覽器

  field2:value2,服務器

  field3:value3,網絡

  ........數據結構

}編程語言

 

示例:分佈式

{

  id:1,

  name:"張三",

  age:20,

  score:[90,100,99,95]

}

  

 

 

 

特色

  • MongoDB 是一個面向文檔存儲的數據庫,操做簡單。

  • 能夠在MongoDB記錄中設置任何屬性的索引 (如:FirstName="Sameer",Age="8")來實現更快的排序。

  • 能夠經過本地或者網絡建立數據鏡像,從而使MongoDB有更強的擴展性。

  • 若是負載的增長(須要更多的存儲空間和更強的處理能力) ,它能夠分佈在計算機網絡中的其餘節點上,這就是所謂的分片。

  • MongoDB支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。

  • MongoDB 能夠使用update()命令替換完成的文檔(數據)或者一些指定的數據字段 。

  • MongoDB中的Map/Reduce主要是用來對數據進行批量處理和聚合操做。

  • Map和Reduce。Map函數調用emit(key,value)遍歷集合中全部的記錄,將key與value傳給Reduce函數進行處理。

  • Map函數和Reduce函數是使用Javascript編寫的,並能夠經過db.runCommand或mapreduce命令來執行MapReduce操做。

  • GridFS是MongoDB中的一個內置功能,能夠用於存放大量小文件。

  • MongoDB容許在服務端執行腳本,能夠用Javascript編寫某個函數,直接在服務端執行,也能夠把函數的定義存儲在服務端,下次直接調用便可。

  • MongoDB爲多種編程語言提供了支持

 

 

 

 

MongoDB的管理工具

一、插件

MongoDB提供了網絡和系統監控工具Munin,做爲插件使用。

Gangila是MongoDB高性能的系統監視的工具,做爲插件使用。

基於圖形界面的開源工具 Cacti, 用於查看CPU負載、網絡帶寬利用率,它也提供了一個應用於監控 MongoDB 的插件。

 

二、單獨的GUI界面

  • Fang of Mongo – 網頁式,由Django和jQuery構成。
  • Database Master — Windows的mongodb管理工具
  • Mongo3 – Ruby寫成。
  • Opricot – 基於瀏覽器的MongoDB控制檯, 由PHP寫的。
  • RockMongo —輕量級的MongoDB管理工具,由PHP寫的
相關文章
相關標籤/搜索