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

Wskazówki dotyczące aktualizacji do najnowszej wersji MongoDB

Najnowsze wersje MongoDB zostały zbudowane w celu zintegrowania nowych lub ulepszonych funkcji z poprzednich wersji. Z tego powodu zaleca się uruchomienie najnowszej wersji w celu uzyskania maksymalnej wydajności i dodatkowych funkcji. Poza tym najnowsze wersje mogą być wynikiem naprawionych błędów w zależności od wersji MongoDB.

Wersjonowanie MongoDB

Wersje MongoDB mają postać X.Y.Z.

  • Kiedy Y jest parzyste, tj. 4.0 lub 4.2, odnosi się to do serii wydań, która jest stabilna, stąd zalecana do produkcji. W tym przypadku zintegrowane są nowe funkcje, które mogą powodować niekompatybilność wsteczną.
  • Jeśli Y jest nieparzyste, tj. 4.1 lub 4.3, odnosi się to do serii rozwojowych, które nie są stabilne, dlatego zalecane są tylko do testowania.
  • Z odnosi się do numeru wersji/poprawki. Obejmuje naprawianie błędów i zmiany zgodne z poprzednimi wersjami.

Również uwzględnienie wersji sterowników MongoDB jest ważne dla zapewnienia dobrej wydajności bazy danych.

Rozważania przed aktualizacją

  1. Kopia zapasowa :W połowie aktualizacji może nastąpić awaria i ostatecznie naruszyć integralność danych przechowywanych w bazie danych. Dlatego zaleca się, aby zawsze wykonać kopię zapasową danych przed aktualizacją do określonej wersji.
  2. Okno konserwacji :Może wystąpić pewna złożoność, która może wystąpić podczas aktualizacji do jakiejś wersji, jeśli zaangażowane są zestawy replik. Trzeba zaplanować wystarczająco dużo czasu na ten proces, aby nie napotkać długiego przestoju.
  3. Zgodność wersji :Przejrzyj informacje o wydaniu i sprawdź, czy konfiguracja systemu będzie zgodna z wersją, do której chcesz uaktualnić. Sprawdź również dokumentację zgodności sterowników na stronie Zgodność sterowników, jeśli są one zgodne z wersją MongoDB, do której chcesz uaktualnić. Na przykład od MongoDB 4.2 w górę nie ma obsługi systemu Ubuntu 16.04 PPCLE.
  4. Zmień strumienie :Strumienie zmian są przeznaczone dla aplikacji w celu uzyskiwania dostępu do zmian danych w czasie rzeczywistym bez konieczności śledzenia oplogu. W przypadku wersji MongoDB wcześniejszych niż 4.0.7 strumień zmian używa tokenu wznowienia wersji 0 v0, podczas gdy ta wersja i następcy używają tokenów wznowienia wersji 1 v1. Zaleca się, aby klienci poczekali na zakończenie uaktualniania przed wznowieniem strumieni zmian podczas uaktualniania do wersji 4.0.7.
  5. Sprawdzenie środowiska pomostowego :Upewnij się, że wszystkie konfiguracje są dobrze skonfigurowane przed aktualizacją środowiska produkcyjnego i będą zgodne z nową wersją, do której chcesz dokonać aktualizacji.
  6.  Podstawowy -Dodatkowe -Arbiter (PSA) Architektura :MongoDB w wersji 3.6 i nowszych domyślnie włącza obsługę problemu odczytu „większości”. Jednak ta konfiguracja może spowodować obciążenie pamięci podręcznej magazynu i jedynym sposobem, aby temu zapobiec, jest wyłączenie tego parametru. Niemniej jednak wyłączenie tego parametru może budzić większe obawy, tj.:
    1. Obsługa transakcji w klastrze podzielonym na fragmenty ulegnie zmianie w następujący sposób:
      1. Jeśli fragment odczytał problem „większości” wyłączony, zgłosi błąd dla transakcji, która zapisuje do wielu fragmentów.
      2. Zastrzeżenie odczytu „migawka” nie może być użyte w przypadku transakcji obejmującej fragment z wyłączonym problemem odczytu „większość”
    2. polecenia collMod odpowiedzialne za modyfikację indeksu przed wycofywaniem nie będą działać. To dyktuje, że jeśli operacja musi zostać wycofana, należy użyć węzła podstawowego do ponownej synchronizacji dotkniętych węzłów.
    3. Obsługa strumieni zmian dla MongoDB 4.0 i wcześniejszych wersji również zostanie wyłączona.
    4. Wyłączenie tego parametru nie ma wpływu na transakcje zestawu replik.

Procedury aktualizacji

  1. Utwórz kopię zapasową swoich danych.
  2. Uaktualnij plik binarny mongod/mongos oddzielnie, używając narzędzia do zarządzania pakietami systemowymi obok oficjalnych pakietów MongoDB. Możesz także uaktualnić mongo, zastępując istniejące pliki binarne nowymi, korzystając z poniższej procedury:
    1. Pobierz pliki binarne MongoDB dla wersji, do której chcesz uaktualnić, i przechowuj pobrany skompresowany plik w tymczasowej lokalizacji.
    2. Zamknij instancję.
    3. Użyj pobranych plików binarnych, aby zastąpić istniejące pliki binarne MongoDB.
    4. Ponownie uruchom instancję.
  3. W przypadku uaktualniania zestawu replik należy zaktualizować każdy element członkowski osobno, zaczynając od drugorzędnych i podstawowego ostatniego. Aby uaktualnić wtórne:
    1. Aktualizuj plik binarny mongod
    2. Poczekaj, aż drugorzędny przywróci stan SECONDARY, a po jego zakończeniu zaktualizuj następną instancję. rs.status() służy do sprawdzania stanu członka w powłoce mongo. Mogą pojawić się stany ODZYSKIWANIE i URUCHAMIANIE, ale musisz poczekać, aż przywróci się do SECONDARY.
  4. Podczas uaktualniania podstawowego:
    1. W powłoce mongo użyj rs.stepDown(), aby obniżyć poziom podstawowy jako sposób na zainicjowanie normalnego przełączania awaryjnego. Ponieważ żadne zapisy nie będą akceptowane w tym okresie, zaleca się wykonanie aktualizacji w jak najkrótszym czasie.
    2. Dopóki nie zobaczysz, że inny członek został wybrany jako główny, a następnie uaktualnij pliki binarne głównego zamknięcia.
    3. Ponownie uruchom podstawową po zakończeniu aktualizacji, ale jeśli sprawdzisz jej status, rs.status(), może być oznaczona jako pomocnicza.
  5. Aby zaktualizować do klastra z fragmentami MongoDB 4.4:
    1. Upewnij się, że równoważenie zostało wyłączone.
    2. Uaktualnij serwery konfiguracyjne w taki sam sposób, w jaki aktualizowałeś zestaw replik.
    3. Zaktualizuj fragment przy użyciu odpowiedniej procedury, tj. zestawu replik lub samodzielnego.
    4. Aktualizuj każdą instancję Mongos w kolejności.
    5. Ponownie włącz balanser.

Wnioski

Z czasem dane stają się coraz bardziej złożone i wymagają zaawansowanych funkcji baz danych, które spełniają wymagania administratorów baz danych. MongoDB nie opiera się na tym, ponieważ zawsze wydaje wersje bazy danych z naprawionymi błędami lub nowo zintegrowanymi funkcjami. Zaleca się, aby zawsze aktualizować do najnowszej wersji MongoDB, aby uzyskać maksymalną wydajność. Niemniej jednak przed dokonaniem aktualizacji należy sprawdzić informacje o wydaniu wersji, do której chcesz dokonać aktualizacji, jeśli jest ona zgodna z twoim systemem. Wskazane jest również uaktualnienie odpowiednich sterowników MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zainstalować wcześniejszą wersję mongodb z homebrew?

  2. Wystąpił limit czasu po wybraniu serwera przez 30000 ms za pomocą CompositeServerSelector

  3. MongoDB $mergeObjects

  4. MongoDB $lookup Objectid otrzymuje pustą tablicę?

  5. MongoDB $toInt