Come parte del nostro cluster mongo, abbiamo un nodo nascosto che le persone di analisi utilizzano per la segnalazione. Le loro richieste sono abbastanza diverse da quelle per cui è stata ottimizzata la nostra applicazione principale.Indici diversi su diversi membri della serie di repliche
Possiamo migliorare notevolmente le prestazioni delle loro query aggiungendo determinati indici, che sono relativamente costosi da calcolare, e prendono una buona quantità di memoria. Questi indici non dovrebbero essere usati da nessuna delle query in esecuzione sui nostri membri primari e secondari, quindi sembra un po 'sciocco spendere tempo e memoria sui membri del set di repliche principale per calcolare e mantenere gli indici dei rapporti in memoria.
C'è un modo per creare un indice in modo che esista solo su un singolo membro del set di repliche? C'è un modo per dire ai miei nodi primari e secondari di non calcolare o memorizzare gli indici che so che non useranno?
Interessante. Il mio problema è che assolutamente non voglio propagare gli indici ai server primari. Ridurranno drasticamente le prestazioni in scrittura. – captncraig
Non lo faranno. Gli indici vengono propagati solo dal primario ai secondari quando vengono creati. Poiché questo è un membro nascosto, non sarà mai il primario e gli indici non verranno mai propagati. Devi rimuovere il membro dal set di repliche, altrimenti è di sola lettura e rifiuterà la creazione dell'indice. Una volta creato, il membro lo manterrà felicemente. –
Gli indici non verranno propagati in Primaria o in qualsiasi altro secondario. Le modifiche vengono estratte solo dall'oplog primario, da altri server. –