爲什麼需要NoSQL,NoSQL是什麼

計算機科學中,任何設計都會有理論支撐。數據庫設計自然不會例外。

NoSQL(NoSQL = Not Only SQL ),意即"不僅僅是SQL"。

 

理論支撐

數據庫分類,簡單分成,關係型數據庫核非關係型數據庫。

沒錯,NoSQL就屬於非關係型數據庫,它的理論支撐是CAP理論,CAP理論的核心是:一個分佈式系統不可能同時很好的滿足一致性,可用性和分區容錯性這三個需求,最多隻能同時較好的滿足兩個。因此,根據 CAP 原理將 NoSQL 數據庫分成了滿足 CA 原則、滿足 CP 原則和滿足 AP 原則三 大類:

  • CA - 單點集羣,滿足一致性,可用性的系統,通常在可擴展性上不太強大。
  • CP - 滿足一致性,分區容忍性的系統,通常性能不是特別高。
  • AP - 滿足可用性,分區容忍性的系統,通常可能對一致性要求低一些。

 

爲什麼需要NoSQL

一句話是,傳統關係型數據庫處理不了超大規模和超高併發的場景。

這句話有些絕對,(如果不惜代價,拼命堆硬件,還是可以處理的),但是主要就是想表達這個意思,也是NoSQL的優勢。其實有如下4個方面:

 

爲什麼NoSQL有處理超大規模和超高併發的場景的優勢

超大規模的問題

關聯擴展性:關係型數據庫存在類似Join這樣多表查詢機制,使得數據庫在擴展方面很艱難。非關係型沒有Join這樣的操作。

超高併發的問題

關聯處理速度:數據量達到一定規模時,由於關係型數據庫的系統邏輯非常複雜,使得其非常容易發生死鎖等的併發問題,所以導致其讀寫速度下滑非常嚴重。

 

關係型數據庫的特點

 

NoSQL有哪些優勢

也是非關係型數據庫的優點

 

NoSQL有哪些劣勢

 

 

NoSQL 使用場景

 

NoSQL有6大類應用,及各個代表

 

全方位對比

 

(完)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章