Nejnovější verze MongoDB jsou vytvořeny tak, aby integrovaly nové nebo vylepšené funkce z předchozích verzí. Z tohoto důvodu se pro maximální výkon a další funkce doporučuje spouštět nejnovější verzi. Kromě toho mohou být nejnovější verze výsledkem opravených chyb v závislosti na verzi MongoDB.
Verze MongoDB
Verze MongoDB jsou ve tvaru X.Y.Z.
- Když je Y sudé, tj. 4.0 nebo 4.2, odkazuje to na sérii vydání, která je stabilní, a proto se doporučuje pro produkci. V tomto případě jsou integrovány nové funkce, které mohou vést ke zpětné nekompatibilitě.
- Pokud je Y liché, tj. 4.1 nebo 4.3, týká se to vývojové řady, která není stabilní, a proto se doporučuje pouze pro testování.
- Z označuje číslo revize/opravy. Zahrnuje opravu chyb a zpětně kompatibilní změny.
Také s ohledem na verze ovladače MongoDB je důležité zajistit dobře fungující databázi.
Úvahy před upgradem
- Záloha :V polovině upgradu může dojít k nějakému selhání a nakonec k ohrožení integrity dat, která databáze uchovávala. Proto se doporučuje vždy před upgradem na určitou verzi zálohovat data.
- Okno údržby :Může nastat určitá složitost, která může nastat při upgradu na nějakou verzi, pokud se jedná o sady replik. Na tento proces je třeba naplánovat dostatek času, abyste nenarazili na vysoké prostoje.
- Kompatibilita verzí :Ujistěte se, že jste si prošli poznámky k verzi a zkontrolujte, zda bude vaše nastavení systému kompatibilní s verzí, na kterou chcete upgradovat. Zkontrolujte také dokumentaci kompatibility ovladačů na stránce Kompatibilita ovladačů, pokud mohou jít ruku v ruce s verzí MongoDB, na kterou chcete upgradovat. Například od MongoDB 4.2 výše neexistuje žádná podpora pro systém Ubuntu 16.04 PPCLE.
- Změnit streamy :Toky změn jsou navrženy pro aplikace, které mají přístup ke změnám dat v reálném čase, aniž by nutně omezovaly oplog. Pro verze MongoDB před 4.0.7 používá tok změn token obnovení verze 0 v0, zatímco tato verze a následníci používají tokeny obnovení verze 1 v1. Klientům se doporučuje, aby při upgradu na verzi 4.0.7 počkali na dokončení upgradu a poté obnovili streamy změn.
- Kontrola pracovního prostředí :Před upgradem produkčního prostředí se ujistěte, že jsou všechny konfigurace dobře nastaveny a že budou kompatibilní s novou verzí, na kterou chcete upgradovat.
- Primární -Sekundární -Arbiter (PSA) Architecture :MongoDB verze 3.6 a vyšší ve výchozím nastavení povolují podporu pro „většinové“ čtení. Tato konfigurace však může způsobit tlak mezipaměti úložiště a jediný způsob, jak tomu zabránit, je deaktivovat tento parametr. Nicméně deaktivace tohoto parametru může vyvolat další obavy, např.
- Podpora transakcí na sdíleném clusteru bude ovlivněna tím, že:
- pokud má útržek zakázáno čtení obav „většina“, vyvolá chybu u transakce, která zapisuje do více útržků.
- Snímek obav o čtení nelze použít pro transakci zahrnující útržek s deaktivovanou většinou obav o čtení
- Příkazy collMod, které jsou zodpovědné za úpravu indexu z vrácení zpět, nebudou fungovat. To znamená, že pokud se operace potřebuje vrátit zpět, je nutné použít primární uzel k opětovné synchronizaci postižených uzlů.
- Podpora pro toky změn pro MongoDB 4.0 a starší verze bude také zakázána.
- Transakce sady replik nejsou deaktivací tohoto parametru ovlivněny.
- Podpora transakcí na sdíleném clusteru bude ovlivněna tím, že:
Postupy pro upgrade
- Zálohujte si svá data.
- Upgradujte binární soubor mongod/mongos samostatně pomocí nástroje pro správu systémových balíčků spolu s oficiálními balíčky MongoDB. Mongo můžete také upgradovat nahrazením stávajících binárních souborů novými pomocí tohoto postupu:
- Stáhněte si binární soubory MongoDB pro revizi, na kterou chcete upgradovat, a uložte stažený komprimovaný soubor do dočasného umístění.
- Vypněte instanci.
- Použijte stažené binární soubory k nahrazení stávajících binárních souborů MongoDB.
- Restartujte instanci.
- Pokud upgradujete sadu replik, upgradujte každého člena samostatně tak, že začnete se sekundárními a primárním posledním. Upgrade sekundárních dílů:
- Upgradujte binární soubor mongoda
- Počkejte, až se sekundární prvek obnoví do SEKUNDÁRNÍHO stavu, a po jeho dokončení upgradujte další instanci. rs.status() se používá ke kontrole stavu člena v mongo shellu. Mohou se objevit stavy OBNOVENÍ a SPUŠTĚNÍ, ale budete muset počkat, než se obnoví na SEKUNDÁRNÍ.
- Při upgradu primární:
- V mongo shellu použijte rs.stepDown() k ukončení primárního jako způsob zahájení normálního převzetí služeb při selhání. Protože během tohoto období nebudou přijímány žádné zápisy, je vhodné provést upgrade v co nejkratším čase.
- Dokud neuvidíte, že byl za primárního zvolen jiný člen, upgradujte binární soubory primárního vypnutí.
- Po dokončení upgradu restartujte primární, ale pokud zkontrolujete jeho stav, rs.status(), může být označen jako sekundární.
- Upgrade pro MongoDB 4.4 Sharded Cluster:
- Ujistěte se, že byl vyvažovač deaktivován.
- Upgradujte konfigurační servery stejným způsobem, jako jste upgradovali sadu replik.
- Upgradujte fragment pomocí odpovídajícího postupu, tj. sady replik nebo samostatné.
- Upgradujte každou instanci mongos v pořadí.
- Znovu aktivujte balancer.
Závěr
Postupem času se data stávají složitějšími, a proto vyžadují pokročilé databázové funkce, které splňují specifikace databázových administrátorů. MongoDB se na to nevztahuje, protože vždy vydává verze databáze buď s opravenými chybami, nebo s nově integrovanými funkcemi. Pro maximální výkon se doporučuje vždy upgradovat na nejnovější verzi MongoDB. Před provedením upgradu je však třeba zkontrolovat poznámky k verzi pro verzi, na kterou chcete upgradovat, zda je kompatibilní s vaším systémem. Doporučuje se také upgradovat odpovídající ovladače MongoDB.