天天看點

資料庫必知詞彙:BASE

NoSQL的BASE特性指的是基本可用(BA)、軟狀态(S)、最終一緻性(E),這一概念由由 Eric Brewer 定義。BASE特性的具體解釋如下:

1.基本可用(Basically Available):

NoSQL允許分布式系統中某些部分出現故障,那麼系統的其餘部分依然可用。它不會像ACID那樣,在系統出現故障時,進行強制拒絕,允許繼續部分通路。

2.軟狀态(Soft State):

NoSQL在資料處理過程中,允許這個過程,存在資料狀态暫時不一緻的情況。但經過糾錯處理,最終會一緻的。

3.最終一緻性(Eventually Consistent):

NoSQL的軟狀态允許資料處理過程的暫時不一緻,但是最終處理結果将是一緻的,說明NoSQL對資料處理過程可以有短暫的時間間隔,也允許分更細的步驟一個一個地處理,最好資料達到一緻即可。這在網際網路上進行分布式應用具有其明顯的優勢。

與RDBMS關注一緻性不同,BASE系統關注可用性。BASE系統顯著的特點是它們的首要目标是要保證在短時間内,即使有不同步的風險,也要允許新資料能夠被存儲。NoSQL系統放寬了規則并允許即使不是所有資料庫都是同步的,也能運作報表。BASE系統不被認為是悲觀的,因為它們并不會關心某個過程背後的細節。它們是樂觀的,因為它們假設最後所有系統都會同步而變得一緻。

BASE系統傾向于更加簡單和迅速,因為它們不必編寫處理鎖定和釋放資源的代碼。它們的任務是保證流程運轉并稍後處理出錯的部分。BASE系統非常适合支援網上商店,填滿購物車和下訂單才是它們的主要優先功能。

資料來源:

NoSQL中的“BASE”特性

https://blog.csdn.net/Jop_qq/article/details/101015141

NoSQL 簡介

https://www.runoob.com/mongodb/nosql.html

《解讀NoSQL》——2.5 比較ACID和BASE——兩種可靠的資料庫事務方法

https://yq.aliyun.com/articles/96829