MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak odzyskać dane po wycofaniu MongoDB?

Jeśli używasz repliki MongoDB ustawionej w środowisku chmury publicznej przez rozsądny czas, szanse są takie doświadczyłeś „wycofania się”. Brzmi to zniechęcająco, ale istnieją proste kroki, aby odzyskać dane na wypadek przywrócenia systemu.

Kiedy następuje wycofanie?

Wycofanie w zestawie replik MongoDB może nastąpić w następującej sekwencji kroków
1. Baza danych MongoDB akceptuje zapisy, które nie zostały jeszcze zreplikowane do innych serwerów pomocniczych, a następnie ulega awarii
2. Inny serwer staje się głównym i akceptuje inne zapisy
3. Gdy poprzednia podstawowa pojawi się ponownie i ponownie zsynchronizuje swój stan z większością

Czy mogę przede wszystkim zapobiec wycofywaniu zmian?

Pewny. Ale jak zwykle ma to swoją cenę. Możesz ustawić swój problem dotyczący pisania na „WIĘKSZOŚĆ”. Będzie to wymagało, aby wszystkie twoje zapisy były zatwierdzone do większości węzłów w zestawie replik, zanim MongoDB będzie mógł je pomyślnie potwierdzić. Jednak będzie to miało dramatyczny wpływ na przepustowość zapisu. Tak więc w prawdziwym świecie dobrą równowagą może być używanie „WIĘKSZOŚCI” do zapisu ważnych danych transakcyjnych

Jak odzyskać dane z wycofania?

Poniżej znajdują się cztery proste kroki, aby odzyskać dane w przypadku wycofania

1.  Znajdź pliki wycofania
Gdy nastąpi wycofanie, pliki bson z danymi wycofania są umieszczane w katalogu „wycofania” w ścieżce danych MongoDB. Pliki wyglądają mniej więcej tak

<dbname>.<collectioname>.2016-02-08T19-34-44.0.bson

2. Załaduj dane z wycofania do osobnej bazy danych lub serwera
Moim preferencją jest skopiowanie plików wycofania na nowy serwer i użycie mongorestore do załadowania ich na serwer. Oto składnia, której możesz użyć

mongorestore -u <> -p <> -h 127.0.0.1 -d <rollbackrestoretestdb> -c <rollbackrestoretestc> <path to the .bson file> --authenticationDatabase=<database of user>

3.  Przeszukuj dane i wyczyść niepotrzebne dane
W tym momencie, jako administrator bazy danych, będziesz musiał według własnego uznania zdecydować, które dane z wycofania chcesz zachować, a które nie mają już sensu. W większości przypadków jest mało prawdopodobne, abyś mógł po prostu zaimportować wszystkie dane. Jest to prawdopodobnie najtrudniejszy krok w przywracaniu stanu poprzedniego.

4. Importuj dane do głównego klastra
Użyj narzędzi mongodump i mongorestore, aby pobrać oczyszczone dane i ponownie zaimportować je do oryginalnego klastra produkcyjnego.

Aby uzyskać więcej informacji na temat operacji wycofywania, zapoznaj się z oficjalną dokumentacją MongoDB


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Odinstaluj mongoDB z ubuntu

  2. Jak zwrócić tablicę ciągów za pomocą agregacji mongodb?

  3. MongoDB $istnieje

  4. Błąd MongoDB:nie można użyć wielokrotnego zapisu z limitem=0

  5. Co oznacza dopasowanie zestawu roboczego do pamięci RAM dla MongoDB?