新聞資訊  快訊  焦點  財經  政策  社會
互 聯 網   電商  金融  數據  計算  技巧
生活百科  科技  職場  健康  法律  汽車
手機百科  知識  軟件  修理  測評  微信
軟件技術  應用  系統  圖像  視頻  經驗
硬件技術  知識  技術  測評  選購  維修
網絡技術  硬件  軟件  設置  安全  技術
程序開發  語言  移動  數據  開源  百科
安全防護  資訊  黑客  木馬  病毒  移動
站長技術  搜索  SEO  推廣  媒體  移動
財經百科  股票  知識  理財  財務  金融
教育考試  育兒  小學  高考  考研  留學
您當前的位置:首頁 > IT百科 > 程序開發 > 架構

分布式系統中ACID和CAP有什么區別

時間:2019-11-27 17:22:03  來源:  作者:

事務機制ACID和CAP理論是數據管理和分布式系統中兩個重要的概念,很不巧,這兩個概念中都有相同的“C”代表 "Consistency" 一致性,但是實際上是完全不同的意義,下面是比較兩個概念的不同之處。

什么是ACID?

事務的定義和實現一直隨著數據管理的發展在演進,當計算機越來越強大,它們就能夠被用來管理越來越多數據,最終,多個用戶可以在一臺計算機上共享數據,這就導致了一個問題,當一個用戶修改了數據而另外一個還在使用舊數據進行計算過程中,這里就需要一些機制來保證這種情況不會發生。

ACID規則原來是在1970被Jim Gray定義,ACID事務解決了很多問題,但是仍然需要和性能做平衡協調,事務越強,性能可能越低,安全可靠性和高性能是一對矛盾。

一個事務是指對數據庫狀態進行改變的一系列操作變成一個單個序列邏輯元操作,數據庫一般在啟動時會提供事務機制,包括事務啟動 停止 取消或回滾。

但是上述事務機制并不真的實現“事務”,一個真正事務應該遵循ACID屬性,ACID事務才真正解決事務,包括并發用戶訪問同一個數據表記錄的頭疼問題。

ACID的定義:

  • Atomic原子性: 一個事務的所有系列操作步驟被看成是一個動作,所有的步驟要么全部完成要么一個也不會完成,如果事務過程中任何一點失敗,將要被改變的數據庫記錄就不會被真正被改變。
  • Consistent一致性: 數據庫的約束 級聯和觸發機制Trigger都必須滿足事務的一致性。也就是說,通過各種途徑包括外鍵約束等任何寫入數據庫的數據都是有效的,不能發生表與表之間存在外鍵約束,但是有數據卻違背這種約束性。所有改變數據庫數據的動作事務必須完成,沒有事務會創建一個無效數據狀態,這是不同于CAP理論的一致性"consistency".
  • Isolated隔離性: 主要用于實現并發控制, 隔離能夠確保并發執行的事務能夠順序一個接一個執行,通過隔離,一個未完成事務不會影響另外一個未完成事務。
  • Durable持久性: 一旦一個事務被提交,它應該持久保存,不會因為和其他操作沖突而取消這個事務。很多人認為這意味著事務是持久在磁盤上,但是規范沒有特別定義這點。

什么是CAP?

CAP是分布式系統中進行平衡的理論,它是由 Eric Brewer發布在2000年。

  • Consistent一致性: 同樣數據在分布式系統中所有地方都是被復制成相同。
  • Available可用性: 所有在分布式系統活躍的節點都能夠處理操作且能響應查詢。
  • Partition Tolerant分區容錯性: 在兩個復制系統之間,如果發生了計劃之外的網絡連接問題,對于這種情況,有一套容錯性設計來保證。

一般情況下CAP理論認為你不能擁有上述三種中兩種,這是一個實踐總結,當有網絡分區情況下,也就是分布式系統中,你不能又要有完美一致性和100%的可用性,只能這兩者選擇一個。在單機系統中,你則需要在一致性和延遲性latency之間權衡。

CAP和ACID一致性區別

ACID一致性是有關數據庫規則,如果數據表結構定義一個字段值是唯一的,那么一致性系統將解決所有操作中導致這個字段值非唯一性的情況,如果帶有一個外鍵的一行記錄被刪除,那么其外鍵相關記錄也應該被刪除,這就是ACID一致性意思。

CAP理論的一致性是保證同樣一個數據在所有不同服務器上的拷貝都是相同的,這是一種邏輯保證,而不是物理,因為光速限制,在不同服務器上這種復制是需要時間的,集群通過阻止客戶端查看不同節點上還未同步的數據維持邏輯視圖。

當跨分布式系統提供ACID時,這兩個概念會混淆在一起,google’s Spanner system能夠提供分布式系統的ACID,其包含ACID+CAP設計:

分布式系統中ACID和CAP有什么區別


Tags:分布式系統 ACID   點擊:()  評論:()
聲明:本站部分內容來自互聯網,內容觀點僅代表作者本人,如有任何版權侵犯請與我們聯系,我們將立即刪除。
▌相關評論
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
▌相關推薦
事務機制ACID和CAP理論是數據管理和分布式系統中兩個重要的概念,很不巧,這兩個概念中都有相同的“C”代表 "Consistency" 一致性,但是實際上是完全不同的意義,下面是比較兩個概...【詳細內容】
2019-11-27   分布式系統 ACID  點擊:(16)  評論:(0)  加入收藏
最新更新
欄目熱門
欄目頭條
31选7开奖11185