Memorizzazione delle operazioni per ogni replica

In una famiglia della replica, le modifiche sono memorizzate per ogni replica. Indica il motivo per cui una voce oplog include l'identità della replica dove viene creata l'operazione. Quindi, la cronologia di una famiglia di replica può essere visualizzata come stack diversi delle voci oplog. Ogni stack è indicato da una sequenza lineare di ID oplog per le operazioni create in tale replica.
La cronologia di database non replicato è una sequenza lineare delle operazioni (Figura 1).
Figura 1. Cronologia delle modifiche ad un database
La Figura 2 mostra lo stato di due repliche in una famiglia:

Una replica contiene i dati precisi solo sulle proprie operazioni. Fino a quando riceve i pacchetti di aggiornamento, le informazioni sulle altre repliche sono obsolete. Ad esempio, la replica boston_hub registra 950 operazioni locali, ma ha ricevuto i pacchetti di aggiornamento solo per 504 operazioni sanfran_hub. In maniera simile, la replica sanfran_hub registra 702 operazioni locali, ma ha ricevuto i pacchetti di aggiornamento solo per 791 operazioni di boston_hub.

La Figura 3 illustra questo scenario, in cui ogni replica è obsoleta rispetto alle operazioni create su altre repliche.
Figura 3. Repliche obsolete
L'immagine di una famiglia di replica come serie di stack oplog, mostrata nella Figura 3, rende più semplice la comprensione del processo di sincronizzazione. Ad esempio, un pacchetto di aggiornamento inviato dalla replica boston_hub alla replica sanfran_hub è costituito dagli incrementi allo stack per la replica boston_hub (operazioni 792–950). La Figura 4 mostra i due incrementi. Poiché sanfran_hub rileva il proprio stato, necessita di aggiornamenti solo per le operazioni create sulle altre repliche. (In alcune situazioni per il ripristino di errori, è necessario reimpostare i dati della replica sulle proprie operazioni. )
Figura 4. Aggiornamenti tra due repliche
Nota: dal momento in cui il pacchetto viene importato in sanfran_hub, ulteriori modifiche possono essere apportate in boston_hub. Queste modifiche non sono include nel pacchetto di aggiornamento.
Concetti correlati
Risoluzione dei problemi relativi alle operazioni MultiSite

Feedback