在具體講分佈式事物方案以前,在這個章結給你們介紹一些分佈式事物裏面的一些概念,後期能夠幫助你更好的理解分佈式事物的方案。web
CAP原則又稱CAP定理,指的是在一個分佈式系統中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區容錯性),三者不可得兼。數據庫
CAP原則是NOSQL數據庫的基石。Consistency(一致性)。 Availability(可用性)。Partition tolerance(分區容錯性)。網絡
分佈式系統的CAP理論:理論首先把分佈式系統中的三個特性進行了以下概括:分佈式
- 一致性(C):在分佈式系統中的全部數據備份,在同一時刻是否一樣的值。(等同於全部節點訪問同一份最新的數據副本)
- 可用性(A):在集羣中一部分節點故障後,集羣總體是否還能響應客戶端的讀寫請求。(對數據更新具有高可用性)
- 分區容忍性(P):以實際效果而言,分區至關於對通訊的時限要求。系統若是不能在時限內達成數據一致性,就意味着發生了分區的狀況,必須就當前操做在C和A之間作出選擇。
CAP理論就是說在分佈式存儲系統中,最多隻能實現上面的兩點。而因爲當前的網絡硬件確定會出現延遲丟包等問題,因此分區容忍性是咱們必須須要實現的。因此咱們只能在一致性和可用性之間進行權衡,沒有NoSQL系統能同時保證這三點。大數據
對於web2.0網站來講,關係數據庫的不少主要特性卻每每無用武之地網站
數據庫事務一致性需求
不少web實時系統並不要求嚴格的數據庫事務,對讀一致性的要求很低,有些場合對寫一致性要求並不高。容許實現最終一致性。spa數據庫的寫實時性和讀實時性需求
對關係數據庫來講,插入一條數據以後馬上查詢,是確定能夠讀出來這條數據的,可是對於不少web應用來講,並不要求這麼高的實時性,比方說發一條消息之 後,過幾秒乃至十幾秒以後,個人訂閱者纔看到這條動態是徹底能夠接受的。.net對複雜的SQL查詢,特別是多表關聯查詢的需求
任何大數據量的web系統,都很是忌諱多個大表的關聯查詢,以及複雜的數據分析類型的報表查詢,特別是SNS類型的網站,從需求以及產品設計角 度,就避免了這種狀況的產生。每每更多的只是單表的主鍵查詢,以及單表的簡單條件分頁查詢,SQL的功能被極大的弱化了。設計
/**
* ————————若是以爲本博文還行,別忘了推薦一下哦,謝謝!
* 做者:寫程序的奧特曼
* 歡迎轉載,請保留此段聲明。
* 出處:https://my.oschina.net/u/2286631/blog/1504672
*/ blog