從本文開始,咱們一塊兒學習一下MongoDB相關內容,在學習MongoDB以前,首先要作的就是學習NoSQL。程序員
爲何要學習NoSQL,緣由很簡單,由於MongoDB是NoSQL數據庫的一種,換言之,若是NoSQL是一種數據庫設計標準,那麼MongoDB就是這種標準的一種實現,因此瞭解NoSQL可以讓咱們更深刻的瞭解MongoDB。web
NoSQL是Not Only SQL的縮寫,簡單翻譯就是非關係型數據庫,意反SQL運動,是一項全新的數據庫革命性運動,NoSQL提倡運用非關係型的數據存儲。sql
NoSQL的概念很早就有人提出,發展至2009年趨勢愈加高漲,緣由有兩方面:數據庫
一方面是隨着web2.0的興起,關係型數據庫自己沒法克服的缺陷表現的愈來愈明顯,主要表如今:
一、High performance - 對數據庫高併發讀寫的需求
二、Huge Storage - 對海量數據的高效率存儲和訪問的需求
三、High Scalability && High Availability- 對數據庫的高可擴展性和高可用性的需求併發
另外一方面,對於web2.0網站來講,關係數據庫的不少特性愈來愈顯得無足輕重,主要表如今:
一、數據庫事務一致性需求
二、數據庫的寫實時性和讀實時性需求
三、對複雜的SQL查詢,特別是多表關聯查詢的需求數據庫設計
正式因爲上述緣由,NoSQL近年來發展的愈來愈快,儘管隨着web2.0的出現關係型數據庫的瓶頸愈來愈明顯,但並不意味着關係型數據庫就會退出歷史的舞臺。對於程序員而言,沒有必要絕對的斷定孰優孰劣,在實際的應用中選擇合適的數據庫纔是最重要的。高併發
上面咱們已經瞭解了NoSQL發展如此迅速的緣由,接下來咱們看一下Nosql的優點,主要體如今下面幾點:
一、簡單的擴展
二、快速的讀寫
三、低廉的成本學習
任何事物都有其優勢和缺點,NoSQL也不例外,NoSQL也存在着不少的不足,主要體如今下面幾點:
1. 不提供對SQL的支持
2. 支持的特性不夠豐富
3. 現有產品的不夠成熟網站
到此爲止,相信你已經對NoSQL有了一個簡單的瞭解,本篇文章的概念性比較重,講解的也不夠詳盡,只須要你們簡單瞭解一下就好,接下來咱們重點學習一下MongoDB數據庫。敬請關注!spa