NewSQL 介紹

一、CAP:

CAP原理:
• Consistency(一致性): 數據一致更新,全部數據變更都是同步的
• Availability(可用性): 好的響應性能
• Partition tolerance(分區耐受性): 可靠性數據庫

上面的解釋可能顯得太過抽象,舉例來講在高可用的網站架構中,對於數據基礎提出瞭如下的要求:
• 分區耐受性
保證數據可持久存儲,在各類狀況下都不會出現數據丟失的問題。爲了實現數據的持久性,不但須要在寫入的時候保證數據可以持久存儲,還須要可以將數據備份一個或多個副本,存放在不一樣的物理設備上,防止某個存儲設備發生故障時,數據不會丟失。
• 數據一致性
在數據有多份副本的狀況下,若是網絡、服務器、軟件出現了故障,會致使部分副本寫入失敗。這就形成了多個副本之間的數據不一致,數據內容衝突。
• 數據可用性
多個副本分別存儲於不一樣的物理設備的狀況下,若是某個設備損壞,就須要從另外一個數據存儲設備上訪問數據。若是這個過程不能很快完成,或者在完成的過程當中須要中止終端用戶訪問數據,那麼在切換存儲設備的這段時間內,數據就是不可訪問的。服務器

CAP原理認爲,一個提供數據服務的存儲系統沒法同時完美的知足一致性(Consistency)、數據可用性(Availability)、分區耐受性(Partition Tolerance)這三個條件網絡


二、關係型數據庫和非關係型數據庫

2.一、關係型數據庫(MySQL、PostgreSQL等)問題:
知足CP,但A不完美
2.二、非關係型數據庫(Redis、MongoDB、HBase等)問題:
知足AP,但C不完美架構


三、NewSQL

能夠同時知足CAP性能

理想下能作到:網站

支持標準SQL
水平擴容,自動容災
庫表權限控制(讀寫分離)
資源限額
資源

 

詳細可見NewSQL對比,開源主要由TiDB和CockroachDB同步

相關文章
相關標籤/搜索