Como a Eventual Consistency (EC) é melhor que Strong Consistency (SC) quando N = 3, R = W = 2 quando o SC oferece melhor garantia de consistência na mesma configuração?

5

Em papel do dínamo , ele diz que na produção a maioria dos usuários definiu 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.

Na maioria dos sistemas de produção, N = 3 é bom o suficiente, pois mais réplicas de dados desperdiçam armazenamento. Manter W e R = 2 significa que as leituras sempre verão a última gravação principalmente .

Armazenamentos strongmente consistentes (SC) também podem ter N = 3 e R, W = 2 com gravações indo para um primário para transações ACID e replicadas para (W - 1) ativo secundário para consolidação.

Os armazenamentos Eventual Consistent (EC) fornecem vários mestres para redimensionamento de gravações, em vez de um primário em db altamente consistente. No entanto, a leitura que é local no caso do SC principal agora requer o salto de rede para outra Réplica no caso EC.

Como é EC melhor que SC quando N = 3, R = W = 2?

Acho que as lojas da CE não recebem bloqueios e aguardam a confirmação de confirmação de outras pessoas. Por isso, eles são mais simples e rápidos.

Isso é verdade? Quais são os outros fatores que tornam a EC melhor do que SC quando N = 3, R = W = 2?

Quais são as outras configurações de produção de N, R, W para repositórios da EC quando elas se tornam melhores do que o SC em read world production systems ?

    
por Ashish Negi 13.07.2018 / 08:51
fonte

2 respostas

1

EC ganha no caso de uma partição de rede, há casos em que você pode perder um nó ou comunicações entre dois nós, onde a única maneira de ter consistência strong é parar todas as gravações.

Esta é a base do teorema da PAC. Que você não pode estar disponível, tolerante a partições e strongmente consistente ao mesmo tempo.

    
por 15.11.2018 / 20:12
fonte
0

O SC será, de fato, mais lento, já que uma atualização só será visível para os clientes, quando todos os nós relevantes tiverem processado a atualização. Com um único servidor mestre, ele será o único gargalo de todas as transações gravadas. Um cliente em uma réplica local terá que esperar até que o servidor mestre processe sua atualização, antes que os clientes no mesmo servidor vejam sua atualização.

O EC facilitará o processo, já que as atualizações estarão visíveis para os clientes locais, mesmo antes de serem processadas pelo mestre-servidor.

    
por 18.07.2018 / 15:47
fonte