天天看點

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

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

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

理論支撐

資料庫分類,簡單分成,關系型資料庫核非關系型資料庫。

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

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

  • CA - 單點叢集,滿足一緻性,可用性的系統,通常在可擴充性上不太強大。
  • CP - 滿足一緻性,分區容忍性的系統,通常性能不是特别高。
  • AP - 滿足可用性,分區容忍性的系統,通常可能對一緻性要求低一些。
為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

為什麼需要NoSQL

一句話是,傳統關系型資料庫處理不了超大規模和超高并發的場景。

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

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

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

超大規模的問題

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

超高并發的問題

關聯處理速度:資料量達到一定規模時,由于關系型資料庫的系統邏輯非常複雜,使得其非常容易發生死鎖等的并發問題,是以導緻其讀寫速度下滑非常嚴重。

關系型資料庫的特點

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

NoSQL有哪些優勢

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

也是非關系型資料庫的優點

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

NoSQL有哪些劣勢

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比
為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

NoSQL 使用場景

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

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

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

全方位對比

為什麼需要NoSQL,NoSQL是什麼理論支撐為什麼需要NoSQL為什麼NoSQL有處理超大規模和超高并發的場景的優勢關系型資料庫的特點NoSQL有哪些優勢NoSQL有哪些劣勢NoSQL 使用場景全方位對比

(完)

繼續閱讀