Oplog memorizza le transazioni di alto livello che modificano il database (le query non vengono memorizzate ad esempio), come inserire questo documento, aggiornarlo, ecc. Oplog viene mantenuto sul master e gli slave periodicamente interrogano il master per ottenere le operazioni appena eseguite (poiché il ultimo sondaggio). Le operazioni a volte vengono trasformate prima di essere archiviate nell'oplog in modo che siano idempotenti (e possono essere applicate in sicurezza molte volte).
Journal d'altra parte può essere attivato/disattivato su qualsiasi nodo (master o slave) ed è un registro di basso livello di un'operazione allo scopo di ripristinare il crash e durare una singola istanza mongo. Puoi leggere operazioni di basso livello come 'scrivi questi byte in questo file in questa posizione'.
NOTA:a partire da MongoDB 4.0, non è possibile disattivare il journaling per i membri del set di repliche che utilizzano il motore di archiviazione WiredTiger. Fonte:https://docs.mongodb.com/manual/tutorial/manage-journaling/