Replikacja MongoDB: kompleksowy przewodnik po zestawach replik krok po kroku
Opublikowany: 2020-02-27MongoDB ma wiele funkcji. A replikacja jest wśród nich ważną funkcją. Wykonywanie replikacji ma wiele zalet. Dzięki MongoDB pracujesz z dużymi zestawami danych, które zawierają obiekty tablicowe i tablice osadzone. Podczas pracy z obiektami tablicowymi i tablicami osadzonymi należy utrzymywać szybkie tempo przetwarzania danych. Przeczytaj o rzeczywistych przypadkach użycia MongoDB, aby poznać ich znaczenie.
Aby utrzymać szybkie tempo tego procesu, musisz upewnić się, że dostępność danych pozostaje wysoka. Świetnym sposobem na zapewnienie wysokiej dostępności danych jest wykonanie replikacji. Replikacja pomaga również w tworzeniu kopii zapasowych i chroni przed utratą danych.
W tym artykule dowiesz się, czym jest replikacja w MongoDB, jak działa i jak możesz to zrobić. Dowiesz się również o zaletach wykonywania replikacji w MongoDB, a jeśli napotkasz błędy podczas wykonywania tego zadania, jak możesz je naprawić.
Zacznijmy.
Spis treści
Co to jest replikacja?
Korzystając z serwerów, musisz synchronizować swoje dane na wielu serwerach MongoDB. W tym zakresie pomaga proces replikacji. Zapewnia, że masz te same dane przechowywane na różnych serwerach.
Replikacja zwiększa dostępność danych. Utrata danych jest poważnym problemem dla organizacji, a replikacja pomaga złagodzić obawy związane z tym samym. Dzięki wysokiej dostępności i nadmiarowości danych Twoja baza danych pozostaje bezpieczna w przypadku utraty jednego serwera. Utracisz dostęp do bazy danych, jeśli jedyny serwer, który ją przechowuje, ulegnie awarii.

Replikacja zapewnia, że nie napotkasz tych problemów. Replikacja MongoDB to również skuteczna metoda zwiększania dostępności Twoich danych. Posiadanie dodatkowych kopii danych jest zawsze korzystne. Replikacja może również skrócić przestoje związane z konserwacją serwera.
Masz możliwość przeznaczenia całego serwera do raportowania, tworzenia kopii zapasowych lub odzyskiwania po awarii.
Istnieje wiele zalet replikacji w MongoDB. Dowiedzmy się ich.
Korzyści z replikacji
Oto niektóre z powodów, dla których replikacja jest powszechną praktyką:
- Replikacja pomaga w odzyskiwaniu danych w przypadku awarii. Będziesz mieć kopię zapasową swoich danych, z której możesz szybko odzyskać utracone pliki.
- Twoje dane pozostają dostępne przez cały czas. Oznacza to, że replikacja zapewnia dostępność przez całą dobę.
- Przestój konserwacji serwera skraca się, jeśli wykonujesz replikację regularnie.
- Replikacja zwiększa skalowalność odczytu. Posiadanie wielu kopii pomaga w skalowaniu odczytu danych.
Oprócz korzyści, które tutaj omówiliśmy, replikacja ma również wadę. Ponieważ będziesz przechowywać kopie swoich danych, będziesz potrzebować więcej miejsca do przechowywania. Choć nie jest to istotna kwestia, warto to zauważyć. Może być konieczne zwiększenie pojemności pamięci serwera.
Jak działa replikacja MongoDB
Aby wykonać replikację, musisz użyć zestawów replik MongoDB. Grupa instancji mongod, które obsługują te same dane, nazywana jest zestawem replik. Zestaw replik zawiera jeden węzeł główny. Węzeł podstawowy odbiera wszystkie operacje zapisu.
Zestaw replik ma tylko jeden węzeł główny. Pozostałe instancje stosują funkcje z podstawowego węzła zestawu, w tym węzłów drugorzędnych. W ten sposób wszystkie mają ten sam zestaw danych. Oto jak działa zestaw replik MongoDB:
- Zestaw replik ma minimum 3 węzły
- Jeden węzeł zestawu replik jest węzłem podstawowym. Wszystkie pozostałe węzły obecne w grupie są drugorzędnymi.
- W zestawie replik dane są replikowane z węzła głównego do węzła dodatkowego
- Jeśli nastąpi automatyczne przełączenie awaryjne (lub podczas konserwacji), odbywa się wybór w celu określenia podstawowego. Następnie węzły wybierają nowy podstawowy.
Teraz, gdy omówiliśmy podstawową koncepcję replikacji w MongoDB, możemy zacząć od jej procesu.
Krok 1: Dodaj pierwszego członka
Wiesz już, że do wykonania replikacji potrzebne będą zestawy replik. Tak więc pierwszym krokiem replikacji w MongoDB jest utworzenie zestawu replik jego instancji. Załóżmy, że masz trzy serwery, Serwer X, Serwer Y i Serwer Z. Spośród tych trzech, Serwer X jest głównym, a Serwer X i Y drugorzędnymi.
Wiesz już, że replikacja odbywa się z serwera podstawowego na serwery pomocnicze. Najpierw musisz upewnić się, że wszystkie instancje mongod (które dodasz do zestawu replik) są zainstalowane na różnych serwerach. W ten sposób będziesz mieć dostępnych wiele serwerów, nawet jeśli jeden z nich ulegnie awarii, a więc będziesz mieć inne instancje MongoDB.

Następnie upewnij się, że wszystkie instancje mogą się połączyć. Wydaj podane polecenia z serwera X:
mongo –host ServerY –port 27017
mongo –host ServerZ –port 27017
Po wydaniu ich z serwera X, wydaj je z pozostałych pozostałych serwerów. Teraz uruchom pierwszą instancję, używając opcji replSet. Opcja replSet daje ci kolekcję wszystkich serwerów, które brałyby udział w tym procesie.
mongo –replSet “ReplicaA”
Tutaj ReplicaA to nazwa zestawu replik. Możesz wybrać dowolną nazwę, ale w tym przykładzie użyjemy tego terminu. Będziesz musiał wydać polecenie rs.initiate() w celu zainicjowania zestawu replik po dodaniu jednego serwera do zestawu replik. Następnie powinieneś zweryfikować swój zestaw replik.
Aby to zrobić, wydaj polecenie rs.conf(). Ten krok pomoże Ci w zapewnieniu, że Twoja replika jest ustawiona optymalnie i bez żadnych problemów.
Przeczytaj: Pytania i odpowiedzi podczas wywiadu MongoDB
Krok 2: Dodaj serwer pomocniczy
Po dodaniu serwera podstawowego możemy teraz skupić się na dodaniu drugiego. W tym celu możesz użyć polecenia rs.add. Musisz wpisać nazwę serwerów pomocniczych, które chcesz dodać w tym poleceniu. Doda je automatycznie.
W naszym przykładzie mieliśmy serwer X, serwer Y i serwer Z. Z tych trzech serwerów serwer X był głównym w zestawie replik. Musielibyśmy dodać pozostałe serwery jako serwery pomocnicze. Aby to zrobić, wydamy następujące polecenia:
rs.add("Serwer")
rs.add("SerwerZ")
I to wszystko. Teraz pomyślnie dodałeś dwa wtórne do swojego zestawu replik.
Krok 3: Ponowna konfiguracja (lub usunięcie)
Tworzenie i dodawanie serwerów to tylko jedna strona medalu. Konieczne może być również usunięcie serwera z grupy konfiguracji. W tym celu musiałbyś użyć polecenia rs.remove.
Zanim usuniesz serwer, musisz go wyłączyć. Użyj polecenia db.shutdownserver z powłoki mongo, aby zamknąć wymagany serwer. Następnie połącz się z serwerem podstawowym i użyj rs.remove, aby usunąć serwer, który chcesz usunąć. To polecenie usunie wymagany serwer z zestawu replik.
Tak więc, jeśli masz w swoim zestawie replik serwer X, serwer Y i serwer Z, z których musisz pozbyć się serwera Z, użyjesz następującego polecenia:
rs.remove("SerwerZ")
Jak naprawić błędy zestawu replik
Podczas wykonywania replikacji w MongoDB możesz napotkać pewne błędy. Aby rozwiązać te błędy, skorzystaj z następujących metod:
- Najpierw upewnij się, że wszystkie instancje mongo są połączone. Tak więc, jeśli masz trzy serwery, a mianowicie serwer X, serwer Y i serwer Z. A wśród tych trzech serwerów serwer X jest serwerem podstawowym. Wydałbyś następujące polecenia:
mongo -host Serwer Y -port 27017
mongo -host ServerZ -port 27017
Uruchomienie dwóch powyższych poleceń pomoże Ci upewnić się, że są one połączone.
Teraz uruchom polecenie status, którym jest rs.status. Polecenie rs.status podaje status zestawu replik. Członkowie zestawu replik wysyłają do siebie pewne wiadomości. Nazywamy te wiadomości „biciem serca”. Nazywamy je biciem serca, ponieważ te wiadomości pokazują, że członek pracuje (tj. żyje).
Polecenie rs.status sprawdza te komunikaty i informuje, czy wystąpił jakiś problem z elementem zestawu replik.

- Możesz zbadać oplog. W MongoDB oplog przechowuje historię zapisów, które wykonałeś w swojej bazie danych. MongoDB korzysta z pomocy Oploga do replikowania zapisów do wszystkich innych członków zestawu replik.
- Oplog można sprawdzić za pomocą polecenia rs.printReplicationinfo po nawiązaniu połączenia z wymaganym członkiem. Polecenie rs.printReplicationinfo pokaże rozmiar Oploga i jego limit przechowywania transakcji, dopóki się nie zapełni.
I to wszystko. Teraz wiesz, jak rozwiązywać problemy z zestawem replik MongoDB. Mając tę wiedzę, możesz rozpocząć replikację w MongoDB bez żadnych kłopotów.
Końcowe przemyślenia
Replikacja to tylko jedna z wielu rzeczy, które możesz zrobić w MongoDB. Nauka obsługi tego programu bazodanowego nie jest łatwa. Jednak przy odpowiedniej praktyce i zasobach możesz szybko nauczyć się go używać.
Jeśli chcesz dowiedzieć się więcej o MongoDB i różnych zawartych w nim funkcjach, odwiedź nasz blog. Znajdziesz tam mnóstwo przydatnych artykułów, które pomogą Ci poszerzyć wiedzę na ten temat.
Jeśli chcesz dowiedzieć się więcej o Big Data, sprawdź nasz program PG Diploma in Software Development Specialization in Big Data, który jest przeznaczony dla pracujących profesjonalistów i zawiera ponad 7 studiów przypadków i projektów, obejmuje 14 języków programowania i narzędzi, praktyczne praktyczne warsztaty, ponad 400 godzin rygorystycznej pomocy w nauce i pośrednictwie pracy w najlepszych firmach.
Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.