Bases des bases de données
Quelle description du théorème CAP est appropriée pour une base de données distribuée qui conserve des copies des données sur plusieurs serveurs ?
- ALorsque le réseau entre les serveurs est partitionné, la cohérence (n'importe quel serveur renvoie la valeur la plus récente) et la disponibilité (chaque requête obtient une réponse) ne peuvent pas être pleinement satisfaites en même temps
- BAvec une conception appropriée, la cohérence, la disponibilité et la tolérance au partitionnement peuvent toujours être satisfaites en même temps
- CLa tolérance au partitionnement consiste à doubler les liaisons réseau pour que le réseau entre les serveurs ne soit jamais partitionné
Afficher la réponse et l'explication
Réponse : A. Lorsque le réseau entre les serveurs est partitionné, la cohérence (n'importe quel serveur renvoie la valeur la plus récente) et la disponibilité (chaque requête obtient une réponse) ne peuvent pas être pleinement satisfaites en même temps
Le théorème CAP montre qu'une base de données distribuée ne peut pas satisfaire pleinement et en même temps les 3 propriétés suivantes : la cohérence (Consistency : lire depuis n'importe quel serveur renvoie le résultat de la dernière écriture), la disponibilité (Availability : tout serveur non défaillant répond à toutes les requêtes) et la tolérance au partitionnement (Partition tolerance : le système continue de fonctionner même lorsque la communication entre serveurs est coupée). Comme les partitions du réseau sont inévitables en pratique, l'essentiel est que, lorsqu'une partition survient, le système doit choisir entre privilégier la cohérence, en cessant de répondre à certaines requêtes, et privilégier la disponibilité, en continuant de répondre tout en admettant que des valeurs périmées soient renvoyées. En l'absence de partition, la cohérence et la disponibilité peuvent être satisfaites toutes les deux. De nombreux produits NoSQL privilégient la disponibilité et adoptent la cohérence à terme, dans laquelle les copies convergent avec le temps. La tolérance au partitionnement ne consiste pas à doubler les liaisons ; c'est la propriété de continuer à fonctionner même lorsqu'une partition survient.
Continuer : 9 autres questions sur Bases des bases de données