In che modo la coerenza (EC) è migliore di Strong Consistency (SC) quando N = 3, R = W = 2 quando SC offre una garanzia di coerenza migliore nella stessa configurazione?

5

Nella dynamo carta, si dice che nella produzione la maggior parte degli utenti ha impostato N = 3 , R = 2 e W = 2.

The common (N,R,W) configuration used by several instances of Dynamo is (3,2,2). These values are chosen to meet the necessary levels of performance, durability, consistency, and availability SLAs.

Nella maggior parte dei sistemi di produzione, N = 3 è abbastanza buono in quanto più repliche di dati sprecheranno spazio di archiviazione. Mantenere W e R = 2 significherà che le letture vedranno sempre l'ultima scrittura principalmente .

Anche gli archivi con consistenza costante (SC) possono avere N = 3 e R, W = 2 con scritture che vanno a un primario per le transazioni ACID e replicate a (W - 1) secondario attivo per il commit.

Eventuali archivi coerenti (EC) forniscono più master per il ridimensionamento delle scritture piuttosto che un primario in db strongmente coerente. Tuttavia, la lettura che è locale nel caso di SC primary ora richiede un hop di rete a un'altra replica nel caso EC.

Com'è EC migliore di SC quando N = 3, R = W = 2?

Penso che gli archivi EC non prendano alcun blocco e attendi che venga confermata la conferma di altre repliche. Quindi, sono più semplici e veloci.

È vero? Quali sono gli altri fattori che rendono EC migliore di SC quando N = 3, R = W = 2?

Quali sono altre configurazioni di produzione di N, R, W per i negozi EC quando diventano migliori di SC in read world production systems ?

    
posta Ashish Negi 13.07.2018 - 08:51
fonte

2 risposte

1

EC vince nel caso di una partizione di rete, ci sono casi in cui si potrebbe perdere un nodo o comunicazioni tra 2 nodi dove l'unico modo per avere una consistenza strong è fermare tutte le scritture.

Questa è la base del teorema CAP. Che non puoi essere disponibile, tollerante alle partizioni e strongmente coerente allo stesso tempo.

    
risposta data 15.11.2018 - 20:12
fonte
0

Lo SC sarà infatti più lento, poiché un aggiornamento sarà visibile solo ai client, quando tutti i nodi rilevanti hanno elaborato l'aggiornamento. Con un singolo server master sarà il collo di bottiglia unico di tutte le transazioni scritte. Un client su una replica locale dovrà attendere che il server master abbia elaborato il suo aggiornamento, prima che i client sullo stesso server vedano il suo aggiornamento.

EC faciliterà il processo, dal momento che gli aggiornamenti saranno visibili ai client locali, anche prima che vengano elaborati dal server master.

    
risposta data 18.07.2018 - 15:47
fonte

Leggi altre domande sui tag