Dans la documentation MongoDB, here, il a été mentionné que dans un ensemble de réplicas, même avec major readConcern, nous obtiendrions une cohérence éventuelle. Je me demande comment cela est possible quand nous avons la majorité dans les lectures et les écritures, ce qui conduit à un quorum (R + W> N) dans notre système distribué? Je m'attends à un système cohérent fort dans ce cadre. C'est la technique que Cassandra utilise également pour obtenir une consistance forte.Comment obtenir une forte cohérence dans les jeux de répliques MongoDB?
Quelqu'un peut-il clarifier cela pour moi s'il vous plaît?
Vous parlez de performances et d'évolutivité dans les lectures et les écritures qui peuvent être gérées par sharding. La cohérence éventuelle est importante uniquement lorsque vous souhaitez utiliser des nœuds secondaires dans un jeu de réplicas pour les opérations de lecture. Ma question est pourquoi nous n'avons pas une forte cohérence même si nous avons un quruom? –
Le quorum n'est nécessaire que pour l'élection d'un primaire. Il ne peut pas tenir compte du décalage/retard du réseau et le serveur principal n'est pas obligé d'attendre que la transaction d'écriture soit rejouée sur tous les fichiers secondaires uniquement par souci de cohérence. Imaginez ce scénario: vous disposez de deux nœuds basés sur ssd pour les performances et le basculement et d'un nœud hdd moins coûteux pour les sauvegardes. Le noeud principal hautes performances doit-il attendre que l'opération se termine sur le membre le plus lent? –
vote majoritaire est nécessaire pour l'élection primaire. Quorum signifie Lecteurs + Écrivains> Nombre de nœuds. Cette expression est vraie lorsque nous plaçons à la fois readConcern et writeConcern à la majorité. Ainsi, lorsque nous lisons à partir d'une majorité de nœuds, il y a au moins un nœud qui a la dernière écriture, et donc, le système est fortement cohérent. Je veux savoir pourquoi cette expression n'est pas vraie à propos de MongoDB? –