NoSql: MongoDB簡介

真理侷限性:沒有任何工具能應對全部問題 沒有任何一個數據庫能知足全部的應用場景 linux

  MongoDB是一個基於分佈式文件存儲的數據庫。由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案MongoDB如今已經被國內不少網站用來記錄網站的日誌。MongoDB也屬於內存數據庫,它會自動將一些數據緩存到內存中,這個我想也是你們平時本身會去作的事情,畢竟佔內存總比佔CPU好,MongoDB支持分佈式部署,這樣咱們能夠分多臺服務器來進行部署。注:MongoDB不建議部署在windows 32的機器上,當數據超過2G的時候會出問題,官方建議安裝在windows 64位或linux上。相對於關係性數據庫來講,它的安全性就大打折扣了,因此咱們應該有選擇性的使用,譬如網站的日誌記錄,網站訪問統計等可使用MongoDB來進行數據存儲。 mongodb

MongoDB的特點在於支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並實現了存儲節點的自動sharding管理等配套功能;以及因爲MongoDB是分佈在多個文件中,當數據量遠大於內存時,數據分佈在足夠多文件時確保性能。 數據庫

MongoDB 特性: windows

  1. 面向集合的存儲:適合存儲對象及JSON形式的數據。 數組

  2. 動態查詢:Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。 緩存

  3. 完整的索引支持:包括文檔內嵌對象及數組。Mongo的查詢優化器會分析查詢表達式,並生成一個高效的查詢計劃。 安全

  4. 查詢監視:Mongo包含一個監視工具用於分析數據庫操做的性能。 服務器

  5. 複製及自動故障轉移:Mongo數據庫支持服務器之間的數據複製,支持主-從模式及服務器之間的相互複製。複製的主要目標是提供冗餘及自動故障轉移。 分佈式

  6. 高效的傳統存儲方式:支持二進制數據及大型對象(如照片或圖片)。 工具

  7. 自動分片以支持雲級別的伸縮性(處於早期alpha階段):自動分片功能支持水平的數據庫集羣,可動態添加額外的機器。

  8. 模式自由(schema-free),意味着對於存儲在mongodb數據庫中的文件,咱們不須要知道它的任何結構定義。若是須要的話,你徹底能夠把不一樣結構的文件存儲在同一個數據庫裏。

  9. 支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++語言的驅動程序。

  10. 不支持符合事務控制能力

  11. 支持單文件的原子操做

相關文章
相關標籤/搜索