Последните версии на MongoDB са създадени, за да интегрират нови или подобрени функции от предишните версии. Поради тази причина се препоръчва да стартирате най-новата версия за максимална производителност и допълнителни функции. Освен това най-новите версии може да са в резултат на отстранени грешки в зависимост от версията на MongoDB.
Версиониране на MongoDB
Версиите на MongoDB са от формата X.Y.Z.
- Когато Y е четно, т.е. 4.0 или 4.2, това се отнася за серия от версии, която е стабилна, поради което се препоръчва за производство. В този случай са интегрирани нови функции, което може да доведе до обратна несъвместимост.
- Ако Y е нечетно, т.е. 4.1 или 4.3, това се отнася до серии за разработка, които не са стабилни, поради което се препоръчват само за тестване.
- Z се отнася до номер на ревизия/кръпка. Включва коригиране на грешки и промени, съвместими с обратно.
Отчитането на версиите на драйвери на MongoDB е важно за осигуряване на добре работеща база данни.
Съображения преди надстройката
- Резервно копие :По средата на надграждането може да се случи някакъв срив и в крайна сметка да компрометира целостта на данните, които базата данни е съхранявала. Затова се препоръчва винаги да правите резервно копие на данните, преди да надстроите до определена версия.
- Прозорец за поддръжка :Може да има известна сложност, която може да възникне при надграждане до някаква версия, ако са включени набори от реплики. Човек трябва да планира достатъчно време за този процес, така че да не срещнете голям престой.
- Съвместимост на версиите :Уверете се, че сте прегледали бележките за версията и проверете дали настройката на вашата система ще бъде съвместима с версията, до която искате да надстроите. Също така проверете документацията за съвместимост на драйвери на страницата Съвместимост на драйвери, ако те могат да се съчетаят с версията на MongoDB, до която искате да надстроите. Например от MongoDB 4.2 нагоре няма поддръжка за Ubuntu 16.04 PPCLE система.
- Промяна на потоци :Потоците от промени са предназначени за приложения за достъп до промени в данните в реално време, без непременно да следят oplog. За версиите на MongoDB преди 4.0.7, потокът за промени използва токен за възобновяване на версия 0 v0, докато тази версия и наследниците използват токени за възобновяване на версия 1 v1. Препоръчва се на клиентите да изчакат надстройката да завърши, преди да възобновят потоците от промени, когато надграждат до версия 4.0.7.
- Проверка на средата на етапа :Уверете се, че всички конфигурации са добре настроени, преди да надстроите производствената среда и те ще бъдат съвместими с новата версия, до която искате да надстроите.
- Основно -Вторично -Архитектура на арбитър (PSA) :MongoDB версия 3.6 и по-нова активира поддръжка за „мнозинство“ при четене по подразбиране. Тази конфигурация обаче може да доведе до натиск в кеша за съхранение и единственият начин да предотвратите това е като деактивирате този параметър. Независимо от това, деактивирането на този параметър може да предизвика повече притеснения, т.е.
- Поддръжката за транзакции в разчленен клъстер ще бъде засегната от това:
- ако даден фрагмент е деактивирал загриженост за четене „мнозинство“, той ще изведе грешка за транзакция, която записва в множество фрагменти.
- Притеснение за четене „моментна снимка“ не може да се използва за транзакция, включваща фрагмент с деактивирано „мнозинство“ при четене
- командите collMod, които са отговорни за промяна на индекс от връщане назад, няма да работят. Това диктува, че ако дадена операция трябва да се върне назад, човек трябва да използва основния възел за повторно синхронизиране на засегнатите възли.
- Поддръжката за потоци от промени за MongoDB 4.0 и по-стари версии също ще бъде деактивирана.
- Транзакциите на набор от реплики не се засягат от деактивирането на този параметър.
- Поддръжката за транзакции в разчленен клъстер ще бъде засегната от това:
Процедури за надстройка
- Направете резервно копие на данните си.
- Надстройте двоичния файл mongod/mongos отделно, като използвате инструмента за управление на системни пакети заедно с официалните пакети MongoDB. Можете също така да надстроите mongos, като замените съществуващите двоични файлове с нови двоични файлове, като използвате тази процедура:
- Изтеглете двоични файлове на MongoDB за ревизията, до която искате да надстроите, и съхранете изтегления компресиран файл на временно място.
- Изключете екземпляра.
- Използвайте изтеглените двоични файлове, за да замените съществуващите двоични файлове на MongoDB.
- Рестартирайте екземпляра.
- Ако надстройвате набор от реплика, надстройте всеки член поотделно, като започнете с второстепенните и последни първични. За да надстроите вторичните:
- Надстройте двоичния файл mongod
- Изчакайте вторичния елемент да се възстанови във ВТОЧНОТО състояние и след като приключи, надстройте следващия екземпляр. rs.status() се използва за проверка за състоянието на члена в mongo shell. Състоянията НА ВЪЗСТАНОВЯВАНЕ и СТАРТ може да се покажат, но ще трябва да изчакате, докато се възстанови до ВТОРИЧНО.
- При надграждане на основния:
- В mongo shell използвайте rs.stepDown(), за да премахнете основния като начин за иницииране на нормално преминаване при отказ. Тъй като през периода няма да се приемат записи, препоръчително е да направите надстройката във възможно най-кратък срок.
- Докато не видите, че друг член е избран за основен, тогава надстройте двоичните файлове на основния за изключване.
- Рестартирайте основното след завършване на надстройката, но ако проверите състоянието му, rs.status(), той може да бъде обозначен като вторичен.
- За да надстроите за MongoDB 4.4 Sharded Cluster:
- Уверете се, че балансьорът е деактивиран.
- Надстройте конфигурационните сървъри по същия начин, по който надстроихте набора от реплики.
- Надстройте фрагмента, като използвате съответната процедура, т.е. набор от реплики или самостоятелен.
- Надстройте всеки екземпляр на mongos по ред.
- Активирайте отново балансира.
Заключение
С времето данните стават по-сложни, поради което изискват разширени функции на базата данни, които могат да отговарят на спецификациите на администраторите на база данни. MongoDB не се връща към това, тъй като винаги пуска версии на база данни с отстранени грешки или с ново интегрирани функции. Препоръчително е винаги да надграждате до най-новата версия на MongoDB за максимална производителност. Въпреки това, преди да направите надстройка, трябва да проверите бележките за версията, до която искате да надстроите, дали е съвместима с вашата система. Препоръчително е също да надстроите съответните драйвери на MongoDB.