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

Najlepszy sposób na hostowanie MongoDB na DigitalOcean

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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytanie MongoDB za pomocą wyrażenia regex względem ObjectId

  2. Czy istnieje konwencja nazywania kolekcji w MongoDB?

  3. MongoDB cursor.count()

  4. Nie można połączyć się z bazą danych Mongo Cloud mongodb w Golang na Ubuntu

  5. Czy możesz określić klucz dla $addToSet w Mongo?