MongoDB to trzecia baza danych typu open source i pierwsza baza danych NoSQL na świecie. Jest to wieloplatformowa baza danych zorientowana na dokumenty, która wykorzystuje dokumenty podobne do JSON ze schematem i jest szeroko wykorzystywana w aplikacjach startowych, aż po firmy na poziomie korporacyjnym opracowujące nowoczesne aplikacje. Chociaż można założyć, że zdecydowana większość wdrożeń baz danych w chmurze odbywa się na AWS, Azure lub Google Cloud Platform, małe i średnie firmy w szczególności skłaniają się ku przyjaznemu dla programistów dostawcy usług w chmurze, DigitalOcean, w celu ich hostingu dla MongoDB® wymagania. W tym poście przedstawimy Ci najlepszy sposób hostowania MongoDB na DigitalOcean, w tym najlepsze typy instancji, typy dysków, strategię replikacji i dostawców usług zarządzanych.
Zalety DigitalOcean dla MongoDB
Co zatem sprawia, że DigitalOcean jest atrakcyjną alternatywą dla innych popularnych dostawców hostingu MongoDB, takich jak AWS i Azure? Jak wspomniano powyżej, DigitalOcean jest wysoce przyjazny programistom dzięki prostej i łatwej do zrozumienia platformie – nie musisz zdobywać certyfikatu tego dostawcy chmury, aby móc bez obaw rozpocząć wdrożenie i uruchomić. Oferują hosting w chmurze oparty na dyskach SSD z prostymi cenami, a także już od 5 USD miesięcznie, co sprawia, że jest to idealne (i niedrogie) rozwiązanie dla programistów do bezproblemowego tworzenia, testowania i wdrażania nowych aplikacji w chmurze. Najbardziej imponujące jest to, że nie obniżasz wydajności kosztem. Przeprowadziliśmy testy wydajności dla MongoDB na DigitalOcean vs. AWS vs. Azure i stwierdziliśmy, że wydajność DigitalOcean była zgodna, jeśli nie lepsza, zarówno pod względem wysokiej przepustowości, jak i małych opóźnień we wdrożeniu.
DigitalOcean Droplets
DigitalOcean specjalizuje się w maszynach wirtualnych opartych na dyskach SSD zwanych Dropletami, które są podzielone na cztery proste kategorie. Najbardziej podstawowym Dropletem jest ich standardowa instancja, która używa współdzielonego procesora już od 5 USD miesięcznie. Chociaż jest to odpowiednie dla aplikacji o małym natężeniu ruchu, małych baz danych i środowisk deweloperskich/testowych, nie zalecamy wykorzystywania udostępnionych klastrów do wdrożeń produkcyjnych MongoDB. Oferują również dedykowaną kroplę zoptymalizowaną pod kątem procesora, która jest wystarczająca do obciążeń intensywnie korzystających z procesora, ale oferują niską pamięć, co nie jest idealne do hostingu MongoDB.
Jeśli wdrażasz średniej wielkości obciążenie MongoDB, zalecamy ich najpopularniejszą kroplę ogólnego przeznaczenia, która jest dedykowaną instancją oferującą 4 GB pamięci dla każdego procesora wirtualnego. Jest to zazwyczaj więcej niż wystarczające w przypadku wdrożeń produkcyjnych i aplikacji o dużym natężeniu ruchu, a zaczyna się od 60 USD miesięcznie za 8 GB pamięci, 2 procesory wirtualne, 4 TB transferu i 25 GB miejsca na dysku SSD. Firma DigitalOcean niedawno uruchomiła również swoje krople zoptymalizowane pod kątem pamięci, które są dedykowanymi instancjami zaprojektowanymi dla aplikacji intensywnie korzystających z pamięci RAM i wysokowydajnych baz danych, co czyni go atrakcyjnym rozwiązaniem dla aplikacji MongoDB o dużym obciążeniu.
Możesz wdrożyć MongoDB na DigitalOcean w 12 regionach centrów danych na całym świecie, w tym w Stanach Zjednoczonych (Nowy Jork i San Francisco), Kanadzie, Holandii, Singapurze i Wielkiej Brytanii , Niemcy i Indie.
Typy dysków DigitalOcean
Jednym z powodów, dla których MongoDB tak dobrze działa na DigitalOcean, są dyski SSD, które są idealne do wdrożeń baz danych w chmurze. Zapewniają doskonałą przepustowość, która oferuje znaczne korzyści w zakresie uruchamiania indeksu w bazie danych lub naprawy maszyny, oszczędzając znaczną ilość czasu w porównaniu ze standardowym wdrożeniem MongoDB w AWS. Oferują nawet niesamowicie niskie opóźnienia z Amazon AWS US-East do centrum danych DigitalOcean New York, co jest świetne w przypadku aplikacji, które działają na swoim froncie w warstwie pośredniej na AWS, ale chciałyby używać DigitalOcean dla swoich klastrów MongoDB.
Strategie replikacji MongoDB
Jeśli używasz MongoDB na DigitalOcean w środowisku produkcyjnym, najlepszym rozwiązaniem jest wdrożenie przy użyciu zestawu replik, aby zapewnić wysoką dostępność i nadmiarowość danych w klastrach. DigitalOcean, wraz z AWS i Azure, oferują 99,99% czasu pracy bez przestojów, ale chociaż brzmi to niemal idealnie, to 0,01% oznacza 52,6 minut przestoju w ciągu jednego roku. To prawie godzina, w której Twoja baza danych staje się niedostępna dla klientów, odwiedzających i pracowników, co może mieć znaczący wpływ na utrzymanie klientów i reputację marki.
Zestawy replik MongoDB
Na szczęście możesz w dużym stopniu zmniejszyć ryzyko utraty wdrożenia w wyniku utraty centrum danych, konfigurując geograficznie rozproszoną 3-węzłową replikę dla MongoDB na DigitalOcean. Istnieje kilka opcji ustawienia tej konfiguracji, z których pierwsza to konfiguracja Główny-Wtórny-Arbiter, która zapewnia 2 węzły przenoszące dane i arbitra, który działa jako członek głosujący, aby określić, która replika powinna przejąć w przypadku, gdy jedna z nich stanie się niedostępna . Jest to najbardziej przystępna opcja, ponieważ arbiter nie przechowuje żadnych danych i kosztuje mniej do wdrożenia, ale oferuje również 1 węzeł mniej, który może przejąć zadanie w przypadku przełączenia awaryjnego. Optymalną strategią replikacji byłaby konfiguracja podstawowa-dodatkowa-dodatkowa, która wykorzystuje 3 węzły przenoszące dane i umożliwia przełączenie awaryjne do 2 oddzielnych centrów danych w przypadku awarii głównego regionu.
Najlepszy sposób na hostowanie #MongoDB na DigitalOceanKliknij, aby tweetowaćSharding MongoDB
Sharding MongoDB to zaawansowana forma wdrożenia, która umożliwia poziome skalowanie danych na wielu komputerach. Jest to bardzo złożona konfiguracja do konfiguracji i zarządzania, ponieważ każdy fragment zawiera wiele zestawów replik i może być rozprowadzany w różnych lokalizacjach centrów danych w celu zapewnienia wysokiej dostępności. Sharding jest idealnym rozwiązaniem w przypadku bardzo dużych zestawów danych lub wdrożeń o wysokiej przepustowości, które wymagają większej pojemności, którą można uzyskać za pomocą jednego serwera. Tam, gdzie typowe wdrożenie skaluje się w pionie, dodając w razie potrzeby większą pojemność do serwera, sharding umożliwia skalowanie w poziomie, dzieląc dane i obciążenie na wiele komputerów. Po skonfigurowaniu środowiska podzielonego na fragmenty możesz dodać więcej fragmentów zgodnie z potrzebami, aby wesprzeć rozwój aplikacji.
W ScaleGrid oferujemy Standalone, 2 repliki + Arbiter, 3 repliki i zaawansowane konfiguracje Sharding do hostowania MongoDB na DigitalOcean w ramach naszego planu hostingu dedykowanego, zaczynając od wielkości planu Micro od 35 USD/ miesiąc do planu X4XLarge z 16 rdzeniami, 48 GB pamięci RAM i 950 GB pamięci masowej. Możesz także dostosować swój zestaw replik MongoDB za pomocą nieograniczonej liczby replik do potrzeb swojej aplikacji.
Zarządzany hosting MongoDB na DigitalOcean
Teraz przechodzimy do ostatecznego pytania – czy powinieneś samodzielnie zarządzać swoją bazą danych MongoDB w ramach wdrożeń DigitalOcean, czy też korzystać z w pełni zarządzanej platformy Database-as-a-Service (DBaaS)? Odpowiedź sprowadza się do Twojego czasu, wiedzy i ciągłej dostępności, aby poradzić sobie z wszelkimi krytycznymi problemami, które pojawią się podczas wdrożenia.
Zadania zarządzania i konserwacji
Platformy MongoDB DBaaS umożliwiają zautomatyzowanie wszystkich czasochłonnych operacji zarządzania i konserwacji, takich jak uaktualnianie wersji, skalowanie, bezpłatne tworzenie kopii zapasowych, przywracanie, udostępnianie, wycofywanie, replikacja, kompaktowanie, indeksowanie zarządzanie, łatanie systemu operacyjnego i rotacje logów. W zależności od rozmiaru wdrożenia może to zająć 1-2 dni w miesiącu, aż do pełnoetatowej armii ekspertów MongoDB pracujących przez całą dobę. Ogromną zaletą korzystania z platformy DBaaS jest eliminacja ryzyka błędu ludzkiego, ponieważ operacje zarządzania są dla Ciebie zautomatyzowane. Zapewnia również pełne bezpieczeństwo i aktualność klastrów MongoDB na DigitalOcean, dzięki czemu nie narażasz swoich wdrożeń na potencjalne błędy lub zagrożenia, które mogą występować w zaniedbanej bazie danych.
Wydajność monitorowania
Monitorowanie to także ogromny element zarządzania wdrożeniem MongoDB. Dzięki platformie DBaaS możesz zautomatyzować alerty dotyczące wszystkich kluczowych metryk MongoDB, dzięki czemu będziesz informowany w momencie osiągnięcia niepożądanego progu, a także uzyskasz dostęp do zaawansowanej konsoli monitorowania, aby przeanalizować wszystkie metryki MongoDB i systemu operacyjnego w podstawowej i dodatkowej instancji i przez dowolny okres czasu. Dodatkowo, dzięki DBaaS, takim jak ScaleGrid, możesz skorzystać z narzędzia Slow Query Analyzer, które pozwala wizualizować wolno działające zapytania i optymalizować je, zanim zaczną wpływać na wydajność wdrożenia.
Pomoc w rozwiązywaniu problemów
Ostatnią, ale nie mniej ważną kwestią jest dostępność wsparcia. Jeśli obudził Cię o 4 nad ranem szalony telefon od szefa, który zastanawia się, dlaczego Twoja aplikacja nie działa i jak szybko możesz ją odzyskać, wiesz dokładnie, o czym mówię. Każda minuta przestoju może przynieść tysiące dolarów dla Twojej firmy, a co gorsza, naruszenie bezpieczeństwa może całkowicie zamknąć Twoją firmę i narazić Twoją reputację na trwałą plamę. Wykorzystując platformę DBaaS, możesz wyprzedzić ponad 90% tych krytycznych problemów i mieć po swojej stronie zespół ekspertów MongoDB 24 godziny na dobę, 7 dni w tygodniu, aby uzyskać nieuniknione 10%, które pomogą Ci szybko zidentyfikować i rozwiązać problemy w celu wdrożenia z powrotem do zdrowego, działającego stanu.
W ScaleGrid zidentyfikowaliśmy DigitalOcean jako wschodzącą gwiazdę rocka w zakresie hostingu MongoDB i ogólnie przetwarzania w chmurze w 2013 roku i byliśmy pierwszym DBaaS platforma do uruchomienia obsługi MongoDB DigitalOcean. Nadal jesteśmy jedyną w pełni zarządzaną platformą DBaaS, która pozwala zautomatyzować hosting dla MongoDB na DigitalOcean i wykorzystać narzędzia do zarządzania bazami danych klasy korporacyjnej w celu optymalizacji wydajności wdrażania, bezpieczeństwa i dostępności w chmurze. Jeśli chcesz wypróbować niektóre z zaawansowanych możliwości DBaaS dla MongoDB na DigitalOcean, możesz rozpocząć bezpłatny 30-dniowy okres próbny bez karty kredytowej, aby zapoznać się z narzędziami automatyzacji, i sprawdź stronę Porównaj dostawców MongoDB, aby zobacz, jak wypadamy w porównaniu z MongoDB Atlas, mLab, ObjectRocket i Compose for MongoDB.