2012-01-23 5 views
10

Recientemente comencé con MongodDb y estoy intentando explorar conjuntos de réplicas y recuperación de fallos.¿Cómo difieren el archivo de diario MongoDB y el oplog?

Lo he leído como un archivo de diario y escribo un archivo de registro de rehacer la cabeza. Los archivos oplog son aquellos en los que se escribirá cada actividad de escritura.

¿Cuál es la diferencia entre estos dos ...? ¿Tenemos oplogs tanto en el maestro como en el esclavo ...? Por favor, publique cualquier enlace web que arroje algo de luz sobre esta área.

Respuesta

13

Oplog almacena transacciones de alto nivel que modifican la base de datos (por ejemplo, las consultas no se almacenan), como insertar este documento, actualizarlo, etc. Oplog se mantiene en el maestro y los esclavos sondearán periódicamente el maestro para obtener un nuevo operaciones (desde la última encuesta). Las operaciones a veces se transforman antes de almacenarse en el oplog para que sean idempotentes (y se pueden aplicar con seguridad muchas veces).

La revista por otro lado se puede activar/desactivar en cualquier nodo (maestro o esclavo), y es un registro de bajo nivel de una operación con el propósito de recuperación de fallas y durabilidad de una única instancia de mongo. Puede leer de bajo nivel op como 'escribir estos bytes en este archivo en esta posición'.

+0

¿Cuál es el registro que utilizan los esclavos para guardar la porción de oplog leído en su servidor ... – Uday

0

Debe existir una relación entre diario y oplog. cuando w = 1 u compromete a jouranl primario y también creó una entrada oplog para la colección replset. Creo que al menos en primaria de un replSet: ambos contienen la misma actualización/eliminación/inserción en un formato diferente.

Cuestiones relacionadas