RDBMS關係型數據庫的瓶頸:
- 無法應對每秒上萬次的讀寫請求,無法處理大量集中的高併發操作。RDBMS是IO密集型的應用,硬盤IO也變爲性能瓶頸。
- 表中存儲記錄數量有限,橫向擴展能力有限,一張表最大有二百多列,縱向數據承受能力也是有限的。 一張表的數據到達百萬級,讀寫的效率就會逐漸的下降。面對海量的數據,必須使用主從複製,分庫分表。這樣的系 統 架構是難以維護的。大數據查詢SQL效率極低,數據量到達一定程度,查詢時間會呈指數級別增長。
- 無法簡單的通過增加硬件、服務節點提高系統性能。數據整個存儲在一個數據庫中的。多個服務器沒有很好的解決辦法,來複制這些數據。
NoSQL的優勢:
- 大數據,高性能
- 靈活的數據模型(不需要建表,列,任意加數據)
- 高可用
- 低成本
NoSQL的劣勢:
- 無關係,數據之間的聯繫
- 不支持標準的SQL,沒有工人的NoSQL標準
- 沒有關係型數據庫的約束,大多數也沒有索引的概念
- 沒有事務,不能依靠事務實現ACID
- 沒有豐富的數據類型(數值,日期,字符,二進制,大文本等)