Distributed-Databases
ACID 和 CAP 定理的一致性,它們是一樣的嗎?
據我了解,ACID 中的一致性是為了確保數據的完整性。
但是,CAP 中的一致性意味著數據可以在分佈式系統中快速出現。
這是否意味著:它們不是同一個概念?
由於數據的範圍,它們並不完全相同
酸
帽
概要
- ACID 解決單個節點的數據一致性問題
- CAP 解決集群範圍內的數據一致性問題
CAP 定理:指定分佈式系統可以提供兩種服務(例如可用性和分區容限),但不能提供三種服務。例如,如果一項服務提供可用性和分區,它永遠無法確保一致性,而不是立即確保一致性,因此使用最終一致性,這允許基礎設施在不一致和一致性之間流動,但是在某一時刻,遲早,基礎設施將變得一致,導致最終的一致性。雲服務以這種方式工作,亞馬遜的 Simple DB 使用最終一致性。
**ACID**特性通常應用於關係數據庫。如果要以分佈式方式(分佈式 DB)應用 ACID,ACID 使用 2PC(兩階段送出)來強制跨分區保持一致性。然而,由於 ACID 提供了一致性和分區,將 CAP 定理應用於(分佈式環境)這將意味著可用性受到損害。
因此,使用了BASE(基本可用、軟狀態、最終一致),它可以提供 ACID 無法獲得的可伸縮性級別。
希望這可以幫助。