MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mangouste :Lire sur ReplicaSet

Si vous souhaitez lire à partir d'un secondaire, vous devez définir votre préférence de lecture à l'un ou l'autre :

  • secondaryPreferred - Dans la plupart des situations, les opérations lisent à partir des membres secondaires, mais si aucun membre secondaire n'est disponible, les opérations lisent à partir du primaire.

  • secondary - Toutes les opérations lues à partir des membres secondaires du jeu de réplicas.

Lecture depuis nearest selon votre exemple, sélectionnera le membre le plus proche en fonction de l'heure du ping (qui peut être soit le membre principal, soit le membre secondaire).

Mises en garde

Lors de l'utilisation d'une préférence de lecture autre que primary , vous devez être conscient des problèmes potentiels de cohérence qui peuvent affecter la logique de votre application. Par exemple, si vous lisez à partir d'un secondaire, il peut y avoir des modifications sur le primaire qui n'ont pas encore été répliquées sur ce secondaire.

Si vous êtes préoccupé par une cohérence plus forte lors de la lecture à partir de secondaires, vous devriez consulter le Écrire un problème pour les ensembles de répliques documents.

Étant donné que les secondaires doivent écrire les mêmes données que le primaire, la lecture à partir des secondaires peut ne pas améliorer les performances, sauf si votre application est très lourde en lecture ou si elle est compatible avec la cohérence éventuelle.