NoSQL,全稱是「Not Only Sql」,指的是非關係型的數據庫。這類數據庫主要有這些特色:非關係型的、分佈式的、開源的、水平可擴展的。原始的目的是爲了大規模web應用,這場全新的數據庫革命運動早期就有人提出,發展至2009年趨勢愈加高漲。html
NoSQL被咱們用得最多的當數key-value存儲,固然還有其餘的文檔型的、列存儲、圖型數據庫、xml數據庫等。相對於目前鋪天蓋地的關係型數據庫運用,這一律念無疑是一種全新思惟的注入。 web
傳統關係型數據庫的劣勢數據庫
互聯網深刻發展,大數據已經是日常。並且傳統的關係型數據庫,面對大規模的高併發顯得力不從心,例如:服務器
1.對數據庫高併發讀寫的需求網絡
例如淘寶、微博,數據庫併發負載很是高,每每要達到每秒上萬次讀寫請求。不只關係型數據庫很難高效的處理這樣的大併發讀寫操做,並且對於硬盤IO也很難能承受得了這樣的讀寫查詢。架構
2.對海量數據的高效率存儲和訪問的需求併發
用戶的我的信息,社交網絡,地理位置,用戶生成的數據和用戶操做日誌已經成倍的增長。咱們若是要對這些用戶數據進行挖掘,關係數據庫很難應付。app
3對數據庫的高可拓展性和高可用性的需求分佈式
在基於web的架構當中,數據庫是最難進行橫向擴展的,當一個應用系統的用戶量和訪問量與日俱增的時候,你的數據庫卻沒有辦法像webserver和appserver那樣簡單的經過添加更多的硬件和服務節點來擴展性能和負載能力。對於不少須要提供24小時不間斷服務的網站來講,對數據庫系統進行升級和擴展是很是痛苦的事情,每每須要停機維護和數據遷移。高併發
所以,關係數據庫在這些愈來愈多的應用場景下顯得不那麼合適了,爲了解決這類問題的NoSQL數據庫應運而生。
NoSQL用於超大規模數據的存儲。(例如谷歌或Facebook天天爲他們的用戶收集萬億比特的數據)。這些類型的數據存儲不須要固定的模式,無需多餘操做就能夠橫向擴展。
NoSQL優缺點
優勢:
-能夠處理大量數據
-低成本,運行在便宜的PC服務器上
-分佈式計算
-沒有複雜的關係
-架構靈活,半結構化數據
缺點:
– 沒有標準化
– 有限的查詢功能(到目前爲止)
– 最終一致是不直觀的程序