MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mangusta:continua a leggere ReplicaSet

Se vuoi leggere da un secondario, dovresti impostare la tua preferenza di lettura a uno dei seguenti:

  • secondaryPreferred - Nella maggior parte dei casi, le operazioni vengono lette dai membri secondari, ma se non sono disponibili membri secondari, le operazioni vengono lette dal primario.

  • secondary - Tutte le operazioni lette dai membri secondari del set di repliche.

Lettura da nearest come nel tuo esempio selezionerà il membro più vicino in base al tempo di ping (che potrebbe essere il principale o un secondario).

Avvertenze

Quando si utilizza qualsiasi preferenza di lettura diversa da primary , è necessario essere a conoscenza di potenziali problemi con eventuale coerenza che potrebbero influire sulla logica dell'applicazione. Ad esempio, se stai leggendo da una secondaria, potrebbero esserci delle modifiche sulla primaria che non sono state ancora replicate su quella secondaria.

Se sei preoccupato per una maggiore coerenza quando leggi dai secondari, dovresti rivedere il Scrivi preoccupazione per i set di repliche documentazione.

Poiché i secondari devono scrivere gli stessi dati del primario, la lettura dai secondari potrebbe non migliorare le prestazioni a meno che l'applicazione non sia molto pesante in lettura o sia a posto con eventuale coerenza.