2012-01-23 26 views
10

Niedawno zacząłem w MongodDb i próbuję zbadać zestawy replik i odzyskiwanie po awarii.Czym różnią się pliki dziennika MongoDB i oplog?

Przeczytałem, że jak plik kroniki zapisuje plik dziennika przywracania głowy. Pliki oplog to te, do których zostanie zapisana każda aktywność zapisu.

Jaka jest różnica między tymi dwoma ...? Czy mamy oplopy na kapitana i niewolnika ...? Zamieszczaj linki do stron, które rzucają światło na ten obszar.

Odpowiedz

13

Oplog przechowuje transakcje na wysokim poziomie, które modyfikują bazę danych (zapytania nie są przechowywane na przykład), takie jak wstawianie tego dokumentu, aktualizowanie itp. Oplog jest przechowywany w systemie nadrzędnym, a urządzenia podrzędne będą okresowo odpytywały wzorzec, aby uzyskać nowe wyniki. operacje (od ostatniego głosowania). Operacje są czasami transformowane, zanim zostaną zapisane w oplogach, tak aby były idempotentne (i można je bezpiecznie stosować wiele razy).

Z drugiej strony, dziennik można włączać i wyłączać w dowolnym węźle (głównym lub podrzędnym) i jest logiem niskiego poziomu operacji w celu odzyskiwania po awarii i trwałości pojedynczego wystąpienia mongo. Możesz przeczytać na niskim poziomie op, np. "Napisz te bajty do tego pliku w tej pozycji".

+0

Co to jest dziennik, którego niewolnicy używają do zapisania części oplogo przeczytanej na swoim serwerze ... – Uday

0

Musi istnieć relacja między dziennikiem a oplogiem. when w = 1 u commit na primary jouranl, a także utworzył wpis oplog dla kolekcji replset. Myślę, że przynajmniej w podstawowym zestawie replSet - oba zawierają taką samą aktualizację/usuwanie/wstawianie tylko w innym formacie.

Powiązane problemy