MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да се възстанови от връщане на MongoDB?

Ако използвате реплика на MongoDB в обществена облачна среда за разумен период от време, шансовете са, че сте преживели „откат“. Звучи обезсърчително, но има лесни стъпки за възстановяване на данните ви, в случай че системата ви се върне назад.

Кога се извършва връщане назад?

Отмяна в набор от реплики на MongoDB може да се случи в следната последователност от стъпки
1. Първичният MongoDB приема записи, които все още не са репликирани на други вторични и след това се срива
2. Друг сървър става основен и приема други записи
3. Когато предишният първичен се върне отново и синхронизира отново състоянието си с мнозинството

Мога ли да предотвратя извършването на връщане назад?

Сигурен. Но както винаги идва с цена. Можете да зададете загрижеността си за писане на „МНОЖИНСТВО“. Това ще изисква всичките ви записи да са ангажирани с по-голямата част от възлите в набора от реплика, преди MongoDB да може успешно да го потвърди. Това обаче ще има драматично въздействие върху вашата производителност на запис. Така че в реалния свят добър баланс може да бъде да се използва само загриженост за запис „MJORITY“ за записвания на важни транзакционни данни

Как да възстановим данни от връщане назад?

По-долу са дадени четири лесни стъпки за възстановяване на вашите данни в случай на връщане назад

1.  Намерете файловете за връщане назад
Когато възникне връщане назад, bson файловете на данните за връщане се поставят в директорията „откат“ на вашия път към данните в MongoDB. Файловете изглеждат нещо като е

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

2. Заредете данните от връщането в отделна база данни или сървър
Моето предпочитание е да копирам файловете за връщане на нов сървър и да използвам mongorestore, за да ги заредя в сървъра. Ето синтаксиса, който можете да използвате

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

3.  Пресейте данните и почистете ненужните данни
В този момент, като администратор на база данни, ще трябва да използвате своята преценка, за да решите кои данни от връщането назад искате да запазите и кои вече нямат смисъл. В повечето случаи е малко вероятно просто да импортирате всички данни. Това е може би най-трудната стъпка при възстановяване на обратно.

4. Импортирайте данни в основния клъстер
Използвайте инструментите mongodump и mongorestore, за да изтеглите изчистените данни и да ги импортирате повторно във вашия оригинален производствен клъстер.

За повече информация относно операциите за връщане, моля, направете справка с официалната документация на MongoDB


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Преобразуване на речник<string, object>-to-BsonDocument, пропускайки полето _t

  2. Архитектура за сигурност:Ръководство за MongoDB

  3. Не мога да получа allowDiskUse:True за работа с pymongo

  4. Набори реплики на MongoDB с арбитри

  5. Как да добавите json във вложен масив на mongodb документ с помощта на Spring?