請問Aurora系統為什麼必須要6份copy來支援「AZ 1」failures?

時間 2021-05-07 04:30:00

1樓:

從增加可用性的代價的角度分析一下。

首先aurora的6副本並不是等價的,而是3FULL 3TAIL,並不是嚴格意義的6副本. 所以如果quorum是3/2/2,storage的寫放大是3左右;如果quorum是6/4/3,storage空間放大並不是6,而應該也是接近3倍。原因是log相對於Page是很小的。

所以增加三份tail並不會造成過多儲存負擔。卻很大程度提高了可用性。

另外如果6份拷貝都從db 發出,對NIC來說確實增加了一倍負擔(相對於3拷貝來說)。但是由於log本身比較小,大部分情況很難打滿10Gb+的網絡卡了。而且這也不是不可以優化的。

最後對P2P來說,代價是副本repair會更頻繁。但是對於增加的3Tail來說,repair也就拷貝些log,不涉及page的拷貝。

整體來看,這種6副本設計價效比很高。

2樓:朝聞君

因為NWR quorum機制有個問題,口語化表達就是退化。

假如3/2/2的乙個節點掛了,退化成2/2/2,這個時候quorum機制是失效的,因為此時需要讀所有備份並且寫所有備份,效率很低,只要丟失任意備份,就失敗。

在上代的資料庫dynamo中,為什麼明明是3/2/2機制卻沒有這個問題呢?

因為在亞馬遜的設計中,這個3並不是固定的三個物理節點,而是本節點沿著一致性雜湊環向下順序找到的前三個物理節點(非虛擬節點),因此quorum的3/2/2始終是穩定的。

這裡的bcd就是備份

假如在三個備份中有乙個節點掛了,那麼剩下兩個節點依然能正常工作,並且通過同步機制讓新增的替補節點同步,從而恢復之前的三備份。

而在aurora中因為使用的不是之前的gossip+一致性雜湊機制,所以這種上文提到的自適應機制是做不到的。因此,3/2/2加倍成6/4/3是有必要的(每個中心的備份數要對稱,三中心情況下只能是3的倍數),即使乙個中心長期掛了,剩下的部分是4/4/3,因此能夠容忍乙個備份丟失的情況下繼續讀取,也就是AZ+1。

至於為什麼常用是三中心,因為在quorum機制中奇數是最節約成本的,比如三個人投票要兩個人通過,兩個人投票也要兩個人通過,而前者備份更多。恰好三是大於1的最小奇數。

為什麼感覺訊號與系統如此難學?考研還必須要考

球王梅西 說實話,我並不覺得訊號與系統很難,常微分方程,三大變換,這些都是很精妙的數學工具,但是訊號裡面涉及到的只是很簡單的性質,除非你高數復變不過關,否則不會難的。 水dong方塊 考試的話 乙個是找特殊點求引數,如果有選擇題.根軌跡法,上面有乙個常數K 第三個,取樣後延拓,會有重疊,重疊就產生二...

為什麼現有的自動泊車系統,都必須是前後有車,或者左右有車才可以使用,旁邊如果沒有車能使用自動泊車系統?

Sun 看了一下提問時間,題主問了這個問題已經過去四年了 雖然已經四年了,但是我還是想跟大家聊聊自動泊車的那點事兒 世界的變化太快了,四年前你提出這個問題,現在已經不是問題了。不過提出這個問題,也說明你對自動泊車做了詳細的觀察,自動泊車系統之所以只能在被夾在中間的車位泊入,是因為那時的自動泊車才用的...

為什麼沒有OA系統 ERP系統 CRM系統等,介面做扁平化設計的研發企業?

多圖。微軟的Dynamic CRM新版本已經是扁平的了,但是扁平不代表美,只是一種流行而已。但是也不像樓上說的,企業管理軟體就不要美觀了。美是每乙個人內心都有的追求,只要是系統的使用者是人,那就要要求美觀。截圖上我們的CRM系統。 羊姐 此類系統,可以統稱為管理系統,管理系統最核心的一點,不是好用,...