Pokud provozujete sadu replik MongoDB ve veřejném cloudovém prostředí po jakoukoli přiměřeně dlouhou dobu, je pravděpodobné, že jste zaznamenali „vrácení zpět“. Zní to skličujícím způsobem, ale existují jednoduché kroky k obnově dat v případě, že se váš systém vrátí zpět.
Kdy dojde k vrácení zpět?
K vrácení v sadě replik MongoDB může dojít v následujícím pořadí kroků
1. Primární server MongoDB přijímá zápisy, které ještě nejsou replikovány do jiných sekundárních serverů, a poté se zhroutí
2. Jiný server se stane primárním a přijímá další zápisy
3. Když se předchozí primární obnoví znovu a znovu synchronizuje svůj stav s většinou
Mohu v první řadě zabránit vrácení zpět?
Tak určitě. Ale jako vždy to přichází s cenou. Svůj zájem o zápis můžete nastavit na „VĚTŠINU“. To bude vyžadovat, aby byly všechny vaše zápisy potvrzeny většině uzlů v sadě replik, než to MongoDB může úspěšně potvrdit. To však bude mít dramatický dopad na vaši propustnost zápisu. V reálném světě by tedy mohlo být dobrou rovnováhou používat pouze pro zápisy důležitých transakčních dat „VĚTšina“ starost o zápis
Jak obnovit data z vrácení zpět?
Níže jsou uvedeny čtyři snadné kroky k obnovení dat v případě vrácení zpět
1. Najděte soubory vrácení zpět
Když dojde k vrácení zpět, soubory bson s daty vrácení se umístí do adresáře ‚rollback‘ vaší datové cesty MongoDB. Soubory vypadají nějak jako je
<dbname>.<collectioname>.2016-02-08T19-34-44.0.bson
2. Načtěte data z vrácení zpět do samostatné databáze nebo serveru
Moje preference je zkopírovat soubory vrácení zpět na nový server a použít mongorestore k jejich načtení na server. Zde je syntaxe, kterou můžete použít
mongorestore -u <> -p <> -h 127.0.0.1 -d <rollbackrestoretestdb> -c <rollbackrestoretestc> <path to the .bson file> --authenticationDatabase=<database of user>
3. Prozkoumejte data a vyčistěte nepotřebná data
V tuto chvíli se jako správce databáze budete muset rozhodnout, která data z rollbacku chcete zachovat a která data již nedávají smysl. Ve většině případů je nepravděpodobné, že můžete pouze importovat všechna data. Toto je pravděpodobně nejobtížnější krok obnovy vrácení zpět.
4. Importujte data do primárního clusteru
Použijte nástroje mongodump a mongorestore ke stažení vyčištěných dat a jejich opětovnému importu do původního produkčního clusteru.
Další informace o operacích vrácení zpět naleznete v oficiální dokumentaci MongoDB