事務機制acid和cap理論是資料管理和分布式系統中兩個重要的概念,很不巧,這兩個概念中都有相同的「c」代表 "consistency" 一致性,但是實際上是完全不同的意義,下面是比較兩個概念的不同之處。
事務的定義和實現一直隨著資料管理的發展在演進,當計算機越來越強大,它們就能夠被用來管理越來越多資料,最終,多個使用者可以在一台計算機上共享資料,這就導致了乙個問題,當乙個使用者修改了資料而另外乙個還在使用舊資料進行計算過程中,這裡就需要一些機制來保證這種情況不會發生。
acid規則原來是在1970被jim gray定義,acid事務解決了很多問題,但是仍然需要和效能做平衡協調,事務越強,效能可能越低,安全可靠性和高效能是一對矛盾。
乙個事務是指對資料庫狀態進行改變的一系列操作變成乙個單個序列邏輯元操作,資料庫一般在啟動時會提供事務機制,包括事務啟動 停止 取消或回滾。
但是上述事務機制並不真的實現「事務」,乙個真正事務應該遵循acid屬性,acid事務才真正解決事務,包括併發使用者訪問同乙個資料表記錄的頭疼問題。
acid的定義:
cap是分布式系統中進行平衡的理論,它是由 eric brewer發布在2023年。
一般情況下cap理論認為你不能同時擁有上述三種,只能同時選擇兩種,這是乙個實踐總結,當有網路分割槽情況下,也就是分布式系統中,你不能又要有完美一致性和100%的可用性,只能這在兩者選擇乙個。在單機系統中,你則需要在一致性和延遲性latency之間權衡。
acid一致性是有關資料庫規則,如果資料表結構定義乙個字段值是唯一的,那麼一致性系統將解決所有操作中導致這個字段值非唯一性的情況,如果帶有乙個外來鍵的一行記錄被刪除,那麼其外來鍵相關記錄也應該被刪除,這就是acid一致性意思。
cap理論的一致性是保證同樣乙個資料在所有不同伺服器上的拷貝都是相同的,這是一種邏輯保證,而不是物理,因為光速限制,在不同伺服器上這種複製是需要時間的,集群通過阻止客戶端檢視不同節點上還未同步的資料維持邏輯檢視。
當跨分布式系統提供acid時,這兩個概念會混淆在一起,google』s spanner system能夠提供分布式系統的acid,其包含acid+cap設計:
jdbc事務鎖基礎教程
什麼是資料庫acid
acid中c與cap定理中c的區別
為什麼大部分nosql不提供分布式事務?
分布式事務
字串匹配演算法4 AC演算法(1)理解
2.ac演算法 時間複雜度 3.ac演算法實現步驟 4.例子說明 4.2 失效函式 f 4.3 輸出函式 output 4.4 完整模式匹配機 圖示 5.匹配例子 hisshers 6.實現 參考假設您有乙個文字包括 n個單詞words 和 大量關鍵字 有m 個關鍵字keywords,請問你如何快速...
編譯原理實驗4 LL(1)文法分析
本來是打算再寫乙個select集生成器的,但是時間有限再加上懶後來還是放棄了 這個 也是需要先新建乙個文字檔案sy4.in 文字檔案中第一行有乙個整數x,代表有x個產生式 接下來x行每行有三個字串,分別代表產生式左邊,右邊還有對應的select集 最後一行還有乙個字母s,代表起始字元 在讀入了資料之...
編譯原理結構框架4自頂向下的語法分析
第四章 自頂向下的語法分析 重點 自頂向下分析的基本思想,分析器總體結構,分析表的構造,遞迴下降分析法基本思想,簡單算術表示式的遞迴下降分析器。難點 first 和follow 集的求法,對它們的理解以及在構造 ll 1 分析表時的使用。遞迴子程式法中如何體現分析的結果。基本概念 自頂向下分析面臨的...