系統架構設計師-關系型數據庫與NoSQL數據庫優缺點分析


關系型數據庫問題:

1,用戶響應時間慢

  大型社交網絡系統要根據用戶個性化信息來實時生成動態頁面並提供動態信息,所以基本上無法使用動態頁面靜態化技術。數據庫並發負載非常高,往往要達到每秒上萬次讀寫請求。關系數據庫應付上萬次SQL查詢還勉強可以,但是應對上萬次SQL寫數據請求,磁盤I/O則無法承受。特別是設計多表連接操作,會導致響應變慢。

  NoSQL數據庫支持高並發數據訪問,性能較高。

2,數據格式變化

  大型社交網絡系統隨着用戶的使用,會不斷地增加新的功能,導致原有數據格式發生變化,甚至出現新的數據格式。但關系數據庫中采用元組方式組織數據,難以使用新型數據格式,也難以維護。

  NoSQL數據庫的數據存儲結構松散,能夠靈活支持多種類型的數據格式。

3,數據容量超過設計上限

  對於大型社交網絡系統,往往會在很短時間內產生海量數據。關系數據庫多采用中央數據存儲,使得數據容量受限於前期設計的上限,很難實現數據容量的橫向擴展。

  NoSQL數據庫能夠支持海量數據的存儲,且易於橫向擴展。

4,系統可用性差

  關系數據庫采用中央數據存儲,容易成為系統的性能瓶頸。單點故障很容易導致系統崩潰,負載過高往往導致系統出現宕機現象。

  NoSQL數據庫基於分布式數據存儲,不存在單點故障和性能瓶頸,系統可用性高。

NoSQL數據庫的問題:

1,NoSQL數據庫現有產品不夠成熟,大多數產品處於初創期。

2,並未形成一定的標准,產品種類繁多,缺乏官方支持。

3,不提供對SQL的支持,學習和應用遷移成本較高。

4,支持的特性不夠豐富,現有產品提供的功能比較有限。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM