一、傳統數據管理方法存在的問題
-
不擅長大量數據的寫入操作
解決方案:
1)讀寫分離
問題:更新的數據在兩條服務器上會出現數據一致性問題
2)讀寫分離,且操作匹配,不同的表操作分配給不同的數據庫服務器
3)不同的表分配給同的數據庫服務器
問題:跨服務器實現join非常困難。 -
不擅長爲數據更新時,更新索引、表結構
更新時,需要加鎖,數據訪問受限制,高併發時性能受影響較大 -
不擅長表結構不固定的應用
更新表結構困難
二、NoSQL定義及特點
-
NoSQL:符合非關係型、分佈式、開源和具有水平可擴展能力的下一代數據庫,全稱:Not Only Sql
-
數據類型包括
1)key-value
2)Graph
3)列族數據
4)文檔型數據 -
不提供join操作
-
無模式
-
具有橫向可擴展性
-
運行於shared-nothing的計算器集羣上
三、NoSQL數據庫中的數據一致性
CAP理論
CAP理論: Eric Brewer在2000年提出,是NoSQL數據庫的基礎■CAP是分佈式環境中設計和部署系統要考慮的三個重要的系統需求。
- Consistency (強一致性) :更新操作執行成功後所有的用戶都應該讀到最新的值
- Availability (可用性) :每一個操作總能在一定的時間返回結果,不會發生錯誤和超時
- Partition Tolerance (分區容忍性):當網絡發生故障時,系統仍能保持響客戶的請求
根據CAP理論,數據共享系統只能滿足三個特性中的兩個,例如RDBMS滿足CA,分佈式數據庫滿足CP。